我有一个包含许多列的表,其中有两列我感兴趣。
这两列可能包含(p,p)(a,p)(p,a)(a,a)
之类的值。
根据这些列中共同存在的值,我想分别针对上述情况显示第三列1,0.5,0.5,0
。
例如表:
column1 column2 column3
p p 1
p a 0.5
a p 0.5
a a 0
如何做到这一点。我尝试了很多但无济于事。请帮助。
答案 0 :(得分:2)
这是使用CASE语句的示例,该语句检查两列中的值并返回第三列中的所需值。
CASE WHEN column1 = 'p' AND column2 = 'p' THEN 1
WHEN (column1 = 'a' AND column2 = 'p') OR (column1 = 'p' AND column2 = 'a') THEN 0.5
WHEN column1 = 'a' AND column2 = 'a' THEN 0 END AS Column3
答案 1 :(得分:1)
SELECT column1, column2,
CASE
WHEN column1 = p AND column2 = p THEN 1
WHEN column1 = a AND column2 = a THEN 0
ELSE 0.5
END AS column3
FROM Production.Product
你去吧