今天做項目遇到一個問題,
有產品分類A,B,C頂級分類,
期中A下面有a1,a2,a3子分類.
但是a1可能共同屬於A和B,然後我的數據庫是這樣設計的
id name parnet 1 A 0 2 B 0 3 a1 1,2
如果想要查詢A的所有子類的話就要查詢parent中包含1的,所以就萌生了這個辦法.呵呵,
解決方案
代碼如下:
with cte as
(select * from tb where id='1'
union all
select tb.* from tb join cte on charindex(cast(cte.id as varchar(10)),tb.parentid)>0)
select * from cte