我需要使用類似「switch」的內容來定義結果中的新列。在SQL Server 2014中切換SELECT
例子:
-----------------------
user_id | nick | role |
-----------------------
1 | dupa | A |
2 | geno | U |
3 | mato | E |
-----------------------
由於A的意思是「管理員」,U表示「默認用戶」和E的意思是「編輯」,我需要把新列結果和獲得角色的全名。這樣的事情:
----------------------------------
user_id | nick | role | fullname |
----------------------------------
1 | dupa | A | admin |
2 | geno | U | user |
3 | mato | E | editor |
----------------------------------
所以看來我需要使用開關,因爲有超過2個角色。如果role ='A',那麼fullname將是admin,依此類推。我怎樣才能做到這一點?
我有這樣的事情現在:
SELECT
user_ud,
nick,
role,
CASE
WHEN role = 'A' THEN fullname = 'Admin'
WHEN role = 'E' THEN fullname = 'Editor'
WHEN role = 'U' THEN fullname = 'User'
ELSE fullname = NULL
END
FROM
[tablename] ...
但它不工作:(
你有足夠的答案,以備將來的問題是:如果事情不工作,解釋什麼是行不通的。它會拋出一個錯誤嗎?如果是這樣,那麼錯誤是什麼。輸出是否意外?如果是這樣,你期望什麼,以及你實際得到了什麼。 – HoneyBadger