SQL案例基础知识

时间:2017-04-07 18:02:42

标签: sql

我是这个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基础? 非常感谢帮助

1 个答案:

答案 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   |
+--------+-------+--------+
相关问题