sql - 使用 MS SQL Server 根据项目顺序和父类别顺序对项目进行排序
问题描述
我有两个表“Table1”是主类别,“Table2”是项目两个表都有特定顺序的项目
在表 1 中,类别按 ASC 中的 CatOrder 排序,在表 2 中,项目也在 ItemOrder 中排序。
现在我需要根据 CatOrder 的顺序显示项目,然后显示“ItemOrder
Table1
CatID
CatName
CatType
CatOrder
Table2
ItemID
ItemName
ItemLogo
ItemDetails
CatType
ItemOrder
我如何进行 sql 查询,以便它首先获得基于 CatOrder 的所有项目,然后是 ItemOrder
Select ItemName, ItemOrder FROM Table1 t1 JOIN Table2 t1 ON T1.CatType = T2.CatType Order By T2.CatOrder
上面的查询没有得到预期的结果&当我添加 Group By 它得到聚合函数错误
预期结果
Item |CatOrder | ItemOrder
Item 1 | 10 | 10
Item 3 | 10 | 20
Item 2 | 10 | 30
Item 5 | 20 | 10
Item 4 | 20 | 20
Item 6 | 20 | 30
Item 7 | 30 | 10
解决方案
您可以尝试使用多个order by
顺序排序将取决于您的order by
列顺序。
Select ItemName, CatOrder,ItemOrder
FROM Table1 t1
JOIN Table2 T2 ON T1.CatType = T2.CatType
Order By CatOrder,ItemOrder