SQL语句怎么样查询树形结构的记录。

wojiushiwangxiong 2014-12-17 06:07:22
比如有这样的一张表,表的结构为ID和父ID
如下:
(2,1)
(3,1)
(4,1)
(5,2)
(6,3)
(7,4)
(8,4),这样如果我想查询根节点为1这个父ID下的所有记录,那么我的SQL语句该怎么写呢?谢谢。
...全文
149 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
--小F-- 2014-12-18
  • 打赏
  • 举报
回复
数据库是2000还是2005以上? 如果是2005+的话 可以用2楼CTE 如果是2000的话 需要用函数。
Tiger_Zhao 2014-12-18
  • 打赏
  • 举报
回复
WITH tree AS (
SELECT * FROM table1 WHERE PID = 1
UNION ALL
SELECT c.*
FROM table1 c
JOIN tree p
ON p.ID = c.PID
)
SELECT ID FROM tree ORDER BY ID
wojiushiwangxiong 2014-12-17
  • 打赏
  • 举报
回复
补充说明下,父节点1的下属所有节点查询后,为2,3,4,5,6,7,8

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧