ile seçilen sütun Çok farklı tablolardan veri seçtiğim ve kötü bir eski veri yapısıyla başa çıkabildiğim (karmaşık bir SQL) SQL deyim var, birkaç tane özel sahibim Değerlerini diğer sütunlardan gelen değerlere göre alan sütunlar. Şu anda CASE
ifadelerle bu çözdük:WHERE deyiminde geçersiz sütun adı hatası, CASE
SELECT
...,
CASE channel
WHEN 1 THEN channel_1
WHEN 2 THEN channel_2
...
ELSE 0
END AS ChannelValue,
CASE channelu
WHEN 1 THEN channelu_1
WHEN 2 THEN channelu_2
...
ELSE '0'
END AS ChannelWithUnit,
...
FROM
...
--rest of statement continues with multiple joins and where/and clauses...
MS SQL Server Management Studio'da sorgu yürütme ve benim AS
bentlerinde belirtilen gibi sütun adları listelenmektedir zaman beklediğiniz tüm sonuçlar elde ederler. Ancak, bazı nedenlerle koşullu değerleri bir WHERE
deyiminde kullanmama izin verilmez. Ben sorgunun sonunda
AND ChannelValue > Limit * p.Percentage/100
eklerseniz, ben
Msg 207, Level 16, State 1, Hat 152
Geçersiz sütun adı 'ChannelValue' diyerek o satırda bir hata alıyorum
Neden buna izin verilmiyor? Bunun yerine ne yapmalıyım?