是否可以使用GROUP BY
更改查询结果集中记录/组的顺序?
我有这个问题:
SELECT Category,
Subcategory,
ProductName,
CreatedDate,
Sales
FROM TableCategory tc INNER JOIN
TableSubCategory ts ON tc.col1 = ts.col2 INNER JOIN
TableProductName tp ON ts.col2 = tp.col3
GROUP BY Category,
SubCategory,
ProductName,
CreatedDate,
Sales
现在,我正在创建一个SSRS报告,其中Category
是主要行组,然后SubCategory
是其子行组。然后ProductName
是主要列组。
[屏幕截图的断开链接:http://www.(freeimagehosting).net/uploads/8035123725.jpg]
它完美无缺,但它以字母顺序显示ProductNames
。我希望它以自定义顺序显示ProductNames
(由我定义),如:
ProductNo5 in 3rd column,
ProductNo8 in 4th column,
ProductNo1 in 5th column
... and so on!
答案 0 :(得分:2)
我不知道产品ssrs,但我知道一般的SQL。在SQL中,您必须添加一个额外的列。您可以将类型为Numeric / number的列myOrder添加到ProductNames表中,并填充myOrder列,使其对应于您想要的任何顺序。之后你可以这样做:
SELECT Category,
Subcategory,
ProductName,
CreatedDate,
Sales
FROM TableCategory tc
INNER JOIN TableSubCategory ts
ON tc.col1 = ts.col2
INNER JOIN TableProductName tp
ON ts.col2 = tp.col3
GROUP BY Category,
SubCategory,
ProductName,
CreatedDate,
Sales
ORDER BY TableProductName.myOrder