Próbuję napisać moje zapytanie SQL Server 2008 w taki sposób, żebym mógł w razie potrzeby przeliczyć swoje nagłówki wyjściowe i wyjściowe. Zrobiłem te rzeczy w niewłaściwy sposób wiele razy i kazałem ColdFusion wykonać ciężką pracę na stronie, ale trzeba to zrobić w SQL Server.Jak mogę zamówić przez rodzica, a następnie dziecko?
FeatureID ParentID Feature
--------------------------
1 0 Apple
2 0 Boy
3 2 Charles
4 1 Daddy
5 2 Envelope
6 1 Frankfurter
chcę mój resultset kwerendy wyglądać następująco:
FeatureID ParentID Feature
--------------------------
1 0 Apple
4 1 Daddy
6 1 Frankfurter
2 0 Boy
3 2 Charles
5 2 Envelope
Jeśli ParentID wynosi 0, oznacza to, że jest jednym z głównych kategorii. Jeśli ParentID jest większy od 0, oznacza to, że jest to kategoria podrzędna, dziecko rodzica.
Tak więc rodzice muszą otrzymać polecenie A - Z, a dzieci należy zamówić z A-Z.
Czy pomożesz mi to uporządkować prawidłowo?
SELECT FeatureID, ParentID, Feature
FROM Features
ORDER BY
Więc dlaczego Chłopiec parentId 0 klasyfikowane poniżej Frankfurtera z parentId 1? – Andomar
Ponieważ chcę wypisać rodzic, a następnie jego dzieci, a następnie następny rodzic, a następnie jego dzieci. –
wypróbuj ten prostszy sposób: http://stackoverflow.com/questions/13382380/mysql-order-by-parent-and-child – Otak