【问题标题】:Select column value only if match condition仅在匹配条件时选择列值
【发布时间】:2015-11-28 18:25:39
【问题描述】:

我有一个包含 s1 和 s2 列的表。

我的查询是:

SELECT s1, s2 
FROM myTable 
WHERE s1 = 1 OR s2 = 1 

有样本数据:

s1 s2
------
1  2
2  1
1  1

我想得到:

s1    s2
--------
1   NULL
NULL   1
1      1

你知道一个简单的解决方案吗?

【问题讨论】:

    标签: sql sql-server tsql select


    【解决方案1】:

    你可以使用CASE WHEN:

    SELECT CASE WHEN s1 = 1 THEN 1 ELSE NULL END AS s1,
      CASE WHEN s2 = 1 THEN 1 ELSE NULL END AS s2
    FROM myTable
    WHERE s1 = 1 OR s2 = 1
    

    【讨论】:

      猜你喜欢
      • 2013-04-08
      • 2019-05-15
      • 2021-02-11
      • 2020-01-04
      • 1970-01-01
      • 2020-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多