对不起,如果这是一个 n00b 问题。我不是 T-SQL 专家,但我有一个工作理解。我会试着把这一点说清楚,但一开始有点令人困惑。
问题
我有两张桌子。表 A 表示一个项目,表 B 表示项目之间的关系。
表 A:项目 ID、名称、...
表 B:ParentID、ThisID、ChildID
我面临的问题是表 B 中的所有三个 ID 都指向表 A 中的主键,但是我需要按 A.Name 为每个关系角色按组对结果进行排序(如果有意义的话)。
所以,如果表 A 有:
1 ItemZ
2 ItemA
3 ItemD
4 ItemX
5 ItemT
表 B 有:
1 3 5
1 2 4
1 3 4
1 2 3
2 4 5
1 2 5
我希望返回的结果按父项目的名称分组,然后是“这个”项目名称,然后是子项目的名称......在这种情况下:
2(A) 4(X) 5(T)
1(Z) 2(A) 3(D)
1(Z) 2(A) 5(T)
1(Z) 2(A) 4(X)
1(Z) 3(D) 5(T)
1(Z) 3(D) 4(X)
问题
如何ORDER BY
在保持分组的同时在同一字段(表 A.Name)上使用?
笔记
我读过这个:SQL Ordering by Date but Maintain Foreign Key Groupings,但我认为答案不适合我的问题。我在此处和 Google 上查找了我的问题,但找不到重复项。