Извините, если это вопрос n00b. Я не эксперт по T-SQL, но у меня есть рабочее понимание. Я попытаюсь сделать это понятным, но с самого начала это сбивает с толку.Порядок с несколькими внешними ключами в ту же таблицу
Задача
У меня есть две таблицы. Таблица A представляет собой элемент, а таблица B представляет отношения между элементами.
Таблица A: ItemID, имя, ...
Таблица B: ParentID, ThisID, ChildID
Проблема я столкнулся в том, что все три идентификаторы в таблице B, указывают на первичные ключи в Таблица A, но мне нужно заказывать результаты по A.Name в группах для каждой роли отношений (если это имеет смысл).
Таким образом, если таблица А имеет:
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, но я не могу найти дубликат.
'ORDER BY A_Parent.Name, A_This.Name, A_Child.Name' было то, что мне было нужно. Благодаря! –