SQL选择时,根据另一列中的值将一列的值更改为空
我有一张像这样的桌子SQL选择时,根据另一列中的值将一列的值更改为空,sql,Sql,我有一张像这样的桌子 ID event date 1 a 01/01/21 1 b 02/01/21 1 c 03/01/21 1 d 04/01/21 2 b 05/01/21 2 c 01/01/21 2 a 02/01/21 2 d 04/01/21 3 b 01/01/21 3 d 02/01/21 3 a 04/01/21 3 c 04/01/21 我想从
ID event date
1 a 01/01/21
1 b 02/01/21
1 c 03/01/21
1 d 04/01/21
2 b 05/01/21
2 c 01/01/21
2 a 02/01/21
2 d 04/01/21
3 b 01/01/21
3 d 02/01/21
3 a 04/01/21
3 c 04/01/21
我想从表中选择所有内容,但我想将所有事件的日期“a”留空
所以我想在我的select查询中输出它
ID event date
1 a
1 b 02/01/21
1 c 03/01/21
1 d 04/01/21
2 b 05/01/21
2 c 01/01/21
2 a
2 d 04/01/21
3 b 01/01/21
3 d 02/01/21
3 a
3 c 04/01/21
获取该输出的最简单SQL查询是什么?您可以使用
CASE
。例如:
select
id,
event,
case when event <> 'a' then date end as date
from t
选择
身份证件
事件
事件“a”然后日期结束为日期时的情况
从t
您真正使用的是什么RDBMS?你试图用什么方法来解决这个问题?为什么不起作用?对于ANSI解决方案,您是否考虑过使用CASE
表达式?查看CASE语句。