Nie możesz używać aliasów kolumn w tym samym SELECT
klauzula. Masz dwie możliwości:
Użyj podzapytania:
SELECT Alias1,
CASE
WHEN Alias1 = FieldA1 THEN FieldA0
WHEN Alias1 = FieldB1 THEN FieldA1
ELSE NULL
END AS Alias2
FROM (
SELECT CASE
WHEN FieldA = 'TestA' THEN FieldA1
WHEN FieldB = 'TestB' THEN FieldB1
ELSE NULL
END AS Alias1,
FieldA1
FieldB1
...)
lub możesz powtórzyć logikę użytą w pierwszym CASE
:
SELECT CASE
WHEN FieldA = 'TestA' THEN FieldA1
WHEN FieldB = 'TestB' THEN FieldB1
ELSE NULL
END AS Alias1,
CASE
WHEN FieldA = 'TestA' THEN FieldA0
WHEN FieldB = 'TestB' THEN FieldB0
ELSE NULL
END AS Alias2