从数据库表到页面的展示,sql具体怎么写?
要求:一级分类需要排序,一级分类显示完显示它的子分类,子分类也需要排序。
-- with一个临时表(括号中是你要查询的列名)
WITH temp(ID,Title,Url,ParentID,SortID)
AS
(
--1:初始查询(这里的ParentID=0是数据中是最底层的根节点)
SELECT ID,Title,Url,ParentID,1 AS Level FROM [TableName]
WHERE ParentID=0
UNION ALL
--2:递归条件
--3:这里的临时表和原始数据表都必须使用别名,不然递归的时候不知道查询的是那个表的列
SELECT a.ID,a.Title,a.Url,a.ParentID,b.SortID FROM [TableName] a
INNER JOIN
temp b
ON (a.ParentID=b.ID)--这个关联关系很重要,一定要理解一下谁是谁的父节点
)
SELECT * FROM temp--4:递归完成后 一定不要少了这句查询语句 否则会报错
》》点这里《《
5 回答3.2k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
1 回答2.4k 阅读✓ 已解决
5 回答1.4k 阅读
3 回答1.2k 阅读✓ 已解决
2 回答2k 阅读
用递归啊 递归啊 递归