請與我裸...我是新手所以我真的什麼是毫無疑問的基礎在這裏給大家掙扎......創建用戶登錄一個MySQL父/子關係查詢
我有一個客戶數據庫我想要啓用父/子查看權限。
即這是怎麼了我已經建立了我的數據(我不知道這是否是管理最好的方式)
id parent_id name 1 5 Cust 1 2 5 Cust 2 3 6 Cust 3 4 6 Cust 4 5 0 Group Head 6 5 Sub Group 7 0 Cust 5 8 0 Cust 6
因此,這種關係的可視表示:
Group Head - Cust 1 - Cust 2 - Sub Group -- Cust 3 -- Cust 4
我需要對這種關係進行2次檢查(這讓我意識到我認爲我沒有最好的結構...
- 首先檢查,當「組頭」或「子組」在日誌中,我想,以確定他們是一羣這樣我就可以與客戶交換選項
- 目前他們我需要執行一個查詢回報所有客戶
即如果我登錄爲「子集團,它應該只返回卡斯特3 &卡斯特4但是,如果我登錄爲「組頭」它將返回卡斯特1,卡斯特2,卡斯特3 & cust 4(注意:它不包括「子組」,因爲它是一個組,不是客戶)
對於第一個問題,我想我需要另一個可以識別爲一個組的字段嗎?這是最好的方法嗎?
對於第二個問題,我已經構建了這個查詢,我需要擴展以返回「子組」客戶。
SELECT c.id,
c.parent_id,
c.name,
FROM Customer c
WHERE c.parent_id = '5'
這將返回:
id parent_id name 1 5 Cust 1 2 5 Cust 2 6 5 Sub Group
我想要什麼,結果顯示:
id parent_id name 1 5 Cust 1 2 5 Cust 2 3 6 Cust 3 4 6 Cust 4
即排除了 '子組',因爲它不是一個客戶和告訴我任何有孩子的選擇的孩子。
注意:如果必須,我可以解決顯示子組的問題嗎?
請幫忙嗎?
這取決於您的分組的複雜程度。它總是隻有2個級別的分組,或者你想支持更深層次'group - sub grp - sub sub group - ... sub subgroup' –
嗨,在這個階段,我想限制它到2分組水平。 –