我需要幫助爲視圖編寫一個case語句。基表有2列,我會參考:'舞臺'和'是否'。條件CASE語句語法
如果Stage列爲1,並且YesNo列爲1,則需要CASE語句在視圖中將其顯示爲「否」如果舞臺列爲1,並且YesNo列爲0,則需要CASE語句在視圖中將其顯示爲「是」。如果Stage列爲1,並且YesNo列爲NULL,則需要CASE語句在視圖中將其顯示爲NULL。如果舞臺不是1,我需要YesNo列在視圖中顯示爲NULL。
這是我認爲是正確的邏輯,但是當我嘗試運行它時,我得到了有關單詞'AS'的語法錯誤。有什麼建議麼?
CASE
WHEN a.Stage = 1 and a.YesorNo = 1 THEN 'No'
ELSE WHEN a.Stage = 1 and a.YesorNo = 0 THEN 'Yes'
END AS NewViewColumn
我可以:
或者使用說有一個名爲'YesOrNo'的專欄,其中1表示'不',這讓我有點內心的哭泣。 –
我強烈建議您注意Matt的評論並修復您的命名/數據方案。首先,在編程中,(幾乎?)通常是正確的,1表示真,0表示假。反轉這是非常奇怪的,並且使你的代碼難以閱讀和理解。其次,儘管你沒有提到你的表名「YesOrNo」不是一個很好的列名,因爲它是對問題的回答,而不是屬性。一個更好的名字將是'IsDeleted'或'NeedsExpressHandling'或'HasPermission'或者明顯的True/False。 – Pondlife