有表所示:查找PARENT_ID記錄和更新一些領域
type ID PARENT_ID allowed
0 1 0 0
0 61 1 0
0 148 61 1
0 149 148 1
1 100 149 0
1 122 149 0
... ... ... ...
要選擇那些parent_id where allowed = 1
並找到所有記錄,而根和if type = 0 set allowed = 1
。例如它必須set allowed = 1 where id = 61 and 1
。怎麼做 ?
你使用的是哪個版本的MS SQL Server的? –
@HamletHakobyan 2008 – GeoVIP
@GeoVIP從我自己的經驗來說提供的表結構是一種痛苦的...嘗試與血統,而不是PARENT_ID工作是爲記錄的血統之上將是:/ 1 /,/ 1/61/,/ 1 /148分之61/,/ 1/6 /149分之148的/ etc ...所以61的孩子,可以發現:其中譜系像 '/ 1/61 /%',這是一個非常強大的方案你」當時有。我遇到的唯一缺點是如果你能夠移動樹中的節點,你需要更多的工作。 – Paul