
Originally Posted by
r937
your ORDER BY clause contains only one item, the CASE expression
however, that item is not included in the SELECT clause
hence the error message -- "ORDER BY items must appear in the select list if the statement contains a UNION, INTERSECT or EXCEPT operator."
thanks a lot!
Code:
SELECT
[MAT],
[NUMBER]
FROM
(
SELECT
[MAT],
[NUMBER]
FROM
TestTable
UNION
SELECT
COALESCE ([MAT], 'Tot') AS [MAT],
SUM ([NUMBER])
FROM
TestTable
GROUP BY
ROLLUP ([MAT])
) subQ
ORDER BY
CASE ([MAT])
WHEN 'mol' THEN
1
WHEN 'lip' THEN
2
WHEN 'mre' THEN
3
WHEN 'irt' THEN
4
WHEN 'pmc' THEN
5
WHEN 'mal' THEN
6
WHEN 'ras' THEN
7
WHEN 'uot' THEN
8
WHEN 'lac' THEN
9
WHEN 'bup' THEN
10
ELSE
11
END;
Bookmarks