我試圖改變當前顯示一個Transact-SQL(MS SQL Server)的報告的結果聲明:的if-else在T-SQL
CompanyA DVCE3
CompanyB DVCE2
CompanyC DVCE3
CompanyD NULL
CompanyE DVCE3
,我想它,而不是展示:
CompanyA 36
CompanyB 24
CompanyC 36
CompanyD
CompanyE 36
我敢肯定,這個問題的答案是使用某種類型的if/else語句或case語句,但是我不知道這在T-SQL的語法,或者它應該去我的查詢。
我的基本查詢如下所示:
SELECT
companyName
, term
FROM tableA a
JOIN tableB b on a.id = b.id ...
WHERE
customerNumber IS NOT NULL
AND companyName != 'TEST'... ;
感謝您的幫助。
執行值36和24來自一個特定的列(也許在另一個表?),還是應該被硬編碼到SQL? – 2010-08-17 21:50:53
他們應該被硬編碼 - 24和36不會被從另一列拿走,這是一個很好的問題。這只是一個更可讀的結果(DVCE3代表3年或36個月)。 – dvanaria 2010-08-17 22:08:05