我是这个SQL世界的新手,我只是想知道你是否有这个逻辑
如果NAME是JOHN,如果ID是JOHN A,那么JOHN 2
如果ID是JOHN A,那么JOHN 1
我试图找出使这项工作的SQL代码是
案例 当" ID"是' JOHN A'然后' JOHN B'
何时" ID"是' JOHN A'然后' JOHN 2"当" NAME"是' JOHN' 端
这些都是正确的吗? 任何更好的SQL in Case基础? 非常感谢帮助
答案 0 :(得分:1)
在rextester上使用Sql Server进行快速测试:http://rextester.com/GLP50097
create table t (id varchar(32), name varchar(32))
insert into t values
('John A','Steve')
,('John A','John')
,('Joan A','Joan')
查询:
select
id
, name
, case
when name = 'John'
and id = 'John A'
then 'John 2'
else name
end as expr
from t
返回:
+--------+-------+--------+
| id | name | expr |
+--------+-------+--------+
| John A | Steve | Steve |
| John A | John | John 2 |
| Joan A | Joan | Joan |
+--------+-------+--------+