列分组具有特定顺序

时间:2010-05-27 10:02:21

标签: reporting-services ssrs-2008 ssrs-grouping

是否可以使用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!

1 个答案:

答案 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