Tôi đang cố gắng để viết truy vấn SQL Server 2008 của tôi theo cách mà tôi chỉ có thể lặp qua đầu ra và đầu ra của tôi khi cần thiết. Tôi đã thực hiện công cụ này một cách sai lầm nhiều lần và Coldfusion làm công việc khó khăn trong trang, nhưng cần điều này được thực hiện trong SQL Server.Tôi làm cách nào để đặt hàng bởi cha mẹ và con?
FeatureID ParentID Feature
--------------------------
1 0 Apple
2 0 Boy
3 2 Charles
4 1 Daddy
5 2 Envelope
6 1 Frankfurter
Tôi muốn resultset truy vấn của tôi trông như thế này:
FeatureID ParentID Feature
--------------------------
1 0 Apple
4 1 Daddy
6 1 Frankfurter
2 0 Boy
3 2 Charles
5 2 Envelope
Nếu ParentID là 0, nó có nghĩa rằng đó là một loại lớn. Nếu ParentID lớn hơn 0, nó có nghĩa là nó là một thể loại nhỏ, một con của cha/mẹ.
Vì vậy, cha mẹ cần phải được đặt hàng A - Z và trẻ em cần phải được đặt hàng A-Z.
Bạn có thể giúp tôi đặt hàng này đúng cách không?
SELECT FeatureID, ParentID, Feature
FROM Features
ORDER BY
Vậy tại sao là Boy với ParentID 0 được sắp xếp dưới Frankfurter với ParentID 1? – Andomar
Bởi vì tôi muốn xuất ra phụ huynh và sau đó là con của nó và sau đó là cha mẹ kế tiếp và sau đó là con của nó. –
hãy thử cách này đơn giản hơn nhiều: http://stackoverflow.com/questions/13382380/mysql-order-by-parent-and-child – Otak