Hi there, I need your help.
Here is my problem.
I tried this query in dbms SQL Server 2008 and I have this error:
[Err] 42S22 - [SQL Server] Invalid column name ‘TZZ’;
If replace in my query the LEFT (TZZ, 2) with TZZ and replace in GROUP BY clause LEFT (TZZ, 2) with TZZ, query working but not group by LEFT (TZZ, 2).
I need group the output with LEFT (TZZ, 2).
Can you help me?
Thanks in advance.
SELECT
COALESCE ([MAT], 'Tot') AS [MAT]
FROM
(
SELECT
LEFT (TZZ, 2),
CASE
WHEN LEFT (TZZ, 2) = '1D' THEN
'LIP'
WHEN LEFT (TZZ, 2) = '1F' THEN
'MOL'
WHEN LEFT (TZZ, 2) = '1G' THEN
'IRT'
WHEN LEFT (TZZ, 2) = '1H' THEN
'MRE'
WHEN LEFT (TZZ, 2) = '1I' THEN
'UOT'
WHEN LEFT (TZZ, 2) = '1M' THEN
'MAL'
WHEN LEFT (TZZ, 2) = '1S' THEN
'RAS'
WHEN LEFT (TZZ, 2) = '1O' THEN
'PMC'
WHEN LEFT (TZZ, 2) = '1P' THEN
'BUP'
WHEN LEFT (TZZ, 2) = '1Q' THEN
'LAC'
ELSE
'CIS'
END AS MAT,
FROM
dbo_40
GROUP BY LEFT (TZZ, 2),
ROLLUP (
CASE
WHEN LEFT (TZZ, 2) = '1D' THEN
'LIP'
WHEN LEFT (TZZ, 2) = '1F' THEN
'MOL'
WHEN LEFT (TZZ, 2) = '1G' THEN
'IRT'
WHEN LEFT (TZZ, 2) = '1H' THEN
'MRE'
WHEN LEFT (TZZ, 2) = '1I' THEN
'UOT'
WHEN LEFT (TZZ, 2) = '1M' THEN
'MAL'
WHEN LEFT (TZZ, 2) = '1S' THEN
'RAS'
WHEN LEFT (TZZ, 2) = '1O' THEN
'PMC'
WHEN LEFT (TZZ, 2) = '1P' THEN
'BUP'
WHEN LEFT (TZZ, 2) = '1Q' THEN
'LAC'
ELSE
'CIS'
END
)
) AS SubQ
WHERE
1 = 1
AND (
LEFT (TZZ, 2) = '1D'
OR LEFT (TZZ, 2) = '1F'
)