好了,所以我有一個表子查詢的單表
Tasks
--
TaskId (unique autoinc primary)
ChildOf (Contains task ID of parent, or 0 if top tier (no parent))
我需要編寫與ChildOf = 0 ...簡單的右側選擇所有記錄的查詢?
好,但還需要有以告訴多少孩子每個任務都有結果返回另一列...
所以結果看起來就會像這樣...
TaskID ... ChildOf ... countChildren
37 ...... 0 .... 3
42 ...... 0 .... 0
99 ...... 0 .... 1
etc....
我知道兩個查詢我需要的是這樣的事情,而是需要將它們結合起來莫名其妙...
Select TaskId as ParentTaskId, ChildOf from Tasks where ChildOf = 0
和
Select count(TaskId) from Tasks where ChildOf = ParentTaskId
注:只有2層..父母和孩子......沒有孫子女!所以希望可以讓它稍微複雜一些。
任何幫助是極大的讚賞。感謝所有幫助!
的MySQL缺乏遞歸功能,現在是ANSI。 MySQL網站曾經有過一篇關於如何處理MySQL中的分層數據的大文章,但甲骨文似乎已經把它取消了:/ –
但是他只需要遞歸功能,如果他需要獲得多個級別的子級。否則,它是一個簡單的子查詢。所以布賴恩,你只需要直接節點的數量,還是要計算整個樹(兒童的孩子)。 –
優秀的問題...我只需要一個級別。父母 - >孩子沒有孫子。 –