我有onse SELECT語句來獲得不同的行,並在其中我使用「CASE」來從不同的表中獲取返回列數據。但是,一些結果並沒有給出特別的專欄。請參閱下面的示例查詢。SQL Server SELECT查詢使用「CASE ... END」來選擇列,但獲取列未找到錯誤
SELECT DISTINCT
T1.Col1,
T2.Col2,
CASE WHEN <My Condition > THEN T1.IncomeColumn
ELSE
T2.IncomeColumn
END AS FinalIncome
FROM Table1 as t1 inner join Table2 as T2 on T1.ID = T2.ID
這裏,根據上面的例子如果我試圖用戶查詢的結果它拋出「FinalIncome」列未找到錯誤。
我有很多花費時間來獲得這個查詢的結果,所以很難得到快速的根本原因。
請讓我知道,如果有人有這個問題的可能性有什麼想法。
在此先感謝。
你能否:
試圖與第一語法不這樣做將導致錯誤告訴我們你的情況? – SchmitzIT 2014-10-06 09:04:18
這個查詢是你沒有向我們展示的一個較大的查詢的一部分,或者你沒有向我們展示的情況是什麼導致了這個問題。寫入的查詢(加入了'WHEN')在測試條件下工作得很好。 – 2014-10-06 09:25:36
ORDER BY子句有沒有機會顯示我們?如果是,您是否通過FinalIncome訂購?如果是這樣,您需要按大小寫表達式排序而不是別名 – JamieA 2014-10-06 09:40:48