Группировка столбцов с определенным порядком - PullRequest
0 голосов
/ 27 мая 2010

Можно ли изменить порядок записей / групп в наборе результатов из запроса, используя 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 Ответ

2 голосов
/ 27 мая 2010

Я не знаю ssrs продукта, но я знаю общий SQL. В SQL вам нужно добавить дополнительный столбец. Вы можете добавить столбец myOrder типа Numeric / number в таблицу 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
...