Sql 仅当符合条件时才选择列值

Sql 仅当符合条件时才选择列值,sql,sql-server,tsql,select,Sql,Sql Server,Tsql,Select,我有一个包含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 您知道一个简单的解决方案吗?您可以在以下情况下使用案例: SELECT CASE WHEN s1 = 1 THEN 1 ELSE NULL END AS s1, CA

我有一个包含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

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

您可以在以下情况下使用
案例:

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