我的数据库包含上述数据。它只有代码数据。
数据库没有关于字符串“New Member”,“Leave Member”,“Current Member”的代码状态。
所以我想查询上面正确的数据。
在Excel中,我可以使用IF
语句执行此操作。这在SQL Server中是否可行?
答案 0 :(得分:1)
您可以使用CASE
表达式:
SELECT Member,
CASE WHEN Code = 1 THEN 'New Member'
WHEN Code = 2 THEN 'Current Member'
WHEN Code = 3 THEN 'Leave Member'
END AS State
FROM yourTable
或者您也可以使用将代码映射到状态的内联CTE,并将其连接到原始表:
WITH cte AS (
SELECT 1 AS Code, 'New Member' AS State
UNION ALL
SELECT 2, 'Current Member'
UNION ALL
SELECT 3, 'Leave Member'
)
SELECT t1.Member,
t2.State
FROM yourTable t1
INNER JOIN cte t2
ON t1.Code = t2.Code
答案 1 :(得分:0)
你可以使用case子句:
select Member
,Case code
when 1 then 'New Member'
when 2 then 'Current Member'
when 3 then 'Leave Member'
else 'Unkown'
end
from table1