求 ;WITH 转 SQL 2000

lu仙深 2015-10-13 09:25:26
;WITH T AS
(
SELECT *,CAST(ID AS VARBINARY(MAX)) AS px
FROM ProductDir AS A
WHERE NOT EXISTS(SELECT * FROM ProductDir WHERE id=A.[parentid])
UNION ALL
SELECT A.*,CAST(B.px+CAST(A.ID AS VARBINARY) AS VARBINARY(MAX))
FROM ProductDir AS A
JOIN T AS B
ON A.[parentid]=B.id
)
SELECT * FROM T
where status=0 and isCompanyDir =1
ORDER BY T.px,T.DirName



发现这个在SQL 2000 里无法运行,求转
求大神帮忙,先谢过
...全文
86 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
LongRui888 2015-10-13
  • 打赏
  • 举报
回复

你这个是递归的把,在2000需要写一堆的代码,你可以参考一下这个:

在论坛中出现的比较难的sql问题:21(递归问题3)
http://blog.csdn.net/sqlserverdiscovery/article/details/18363633
xxfvba 2015-10-13
  • 打赏
  • 举报
回复
select * from
(
SELECT *,CAST(ID AS VARBINARY(MAX)) AS px
FROM ProductDir AS A
WHERE NOT EXISTS(SELECT * FROM ProductDir WHERE id=A.[parentid])
UNION ALL
SELECT A.*,CAST(B.px+CAST(A.ID AS VARBINARY) AS VARBINARY(MAX))
FROM ProductDir AS A
JOIN T AS B
ON A.[parentid]=B.id
) T
where status=0 and isCompanyDir =1
ORDER BY T.px,T.DirName


22,301

社区成员

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

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