Как мне заставить это работать, оно работает без предложения Where, в противном случае с предложением Where я получаю очевидную ошибку, но это в основном то, что нужно сделать, кто-нибудь знает, как к этому подойти?
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)
Where City is NOT Null