1
我需要得到家長和來自同一個表中的所有孩子......SQL服務器遞歸父/子同臺使用相同的字段
當運行此查詢:
select location, children from lochierarchy where parent ='HSAGCF'
這個結果:
Location Children
-------- ------------
HSAGCFSMF 1
HSAGEE 1
HSAGGAI 0
HSAGPO 1
HSAGSA 1
HSAGSACC 1
HSAGSAFR 0
HSAGSARV 0
HSAGSASG 0
HSAGSC 1
HSAGSD 1
HSAGSI 1
HSAGSO 1
HSAGSR 0
HSAGST 0
HSAGSTTO 0
當位置有孩子= 1有層次
更多的孩子如何做一個遞歸即得到Ë ACH這個位置上面的查詢,讓孩子= 1,並再次運行這樣的查詢:
select location
from lochierarchy
where parent in ('HSAGCFSMF', 'HSAGEE', 'HSAGGAI', 'HSAGPO', 'HSAGSA',
'HSAGSACC','HSAGSAFR', 'HSAGSARV', 'HSAGSASG', 'HSAGSC',
'HSAGSD', 'HSAGSI', 'HSAGSO', 'HSAGSR', 'HSAGST',
'HSAGSTTO', 'HSAGSV', 'HSAGU1', 'HSAGU2', 'HSAGU3', 'HSAGU4')
locations Children
---------- ------------
HSAGCFSMF 1
HSAGEE 1
HSAGGAI 0
HSAGPO 1
HSAGSA 1
HSAGSACC 1
HSAGSAFR 0
HSAGSARV 0
HSAGSASG 0
HSAGSC 1
HSAGSD 1
HSAGSI 1
HSAGSO 1
HSAGSR 0
HSAGST 0
HSAGSTTO 0
HSAGSV 0
這遞歸需要被repeted,直到孩子的所有位置是= 0
現在你的問題還不夠清楚。它沒有解釋父母和孩子之間的聯繫(除了0,1字段)。它是位置字段的字母嗎?還有什麼?請好好解釋一下。 –
@JorgeCampos:沒有,只是沒有明確。查看OP最初運行的查詢:'選擇位置,來自lohlrarchy的子節點,其中parent ='HSAGCF'。這意味着有一個父列保存當前行的父項。 –
哦,你說的對@本哲,謝謝。 –