Anda tidak dapat menggunakan alias dalam klausa WHERE. Ulangi ekspresi (berantakan) atau letakkan SELECT Anda di subquery dan kemudian letakkan klausa WHERE di kueri luar:
SELECT Id, Name, City, State
FROM
(
SELECT
ID,
Name,
CASE T.N
WHEN 1 THEN City1
WHEN 2 THEN City2
WHEN 3 THEN City3
END AS City,
CASE T.N
WHEN 1 THEN State1
WHEN 2 THEN State2
WHEN 3 THEN State3
END AS State
FROM YourTable
CROSS JOIN (VALUES(1),(2),(3)) AS T(N)
) T1
WHERE City IS NOT NULL