很多时候,我们在同一个表里存储具有相同属性,但有层次关系的数据,比下我做项目中的党机关的级别(党委--总支--支部--小组)或省市的级联。
这个时候,就要用到Sql server的WITH All_Branch AS 子句里,它利用了临时表来进行操作的。不多讲,看语句
WITH All_Branch AS(SELECT id,name FROM party_category WHERE id= " + branchID + " UNION ALL SELECT a.id,a.name FROM party_category AS a,All_Branch AS b WHERE a.parent_id = b.id ) SELECT * FROM All_Branch