在数据库中怎么把一个结果集中的某个值当判断条件

查询表中的字段的值 当这个值为null 怎么把这个当成一个判断条件

image.png

xxnl 发布于 2019-10-14 12:16 (编辑于 2019-10-14 12:28)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共6回答
最佳回答
0
axingLv6专家互助
发布于2019-10-14 12:19

where 字段 is null

  • xxnl xxnl(提问者) 哥 不行 if(select ssld from employees where ssld is not null) 这个我早试过了 不行
    2019-10-14 12:28 
  • axing axing 回复 xxnl(提问者) if(select ssld from employees)is not null
    2019-10-14 14:14 
最佳回答
0
xqxsigmaLv4见习互助
发布于2019-10-14 12:42

 if(select count(1) from employees where ssld is not null)>0;

最佳回答
0
qhlLv6中级互助
发布于2019-10-14 12:42

 这个语句中if(select ssld from employees where ssld is not null),if包含的那个语句返回不是true或false。不太清楚你这个判断要实现什么,如果你要实现select ssld from employees where ssld is not null查出的结果不为空,然后在执行if后面的语句,可以先定义一个变量,然后给变量赋值select count(*) into 变量 from employees where ssld is not null(这个是oracle的语法),最后再if(变量==0) 执行条件成立的语句

  • xxnl xxnl(提问者) 这个 字段中有 null值 当这个值是null时 跳出这个循环
    2019-10-14 13:01 
  • qhl qhl 回复 xxnl(提问者) 改成这样if((select ssld from employees ) is null),可以不
    2019-10-14 13:25 
最佳回答
0
doudekaixinLv6中级互助
发布于2019-10-14 13:54

直接在 子查询里面筛掉就行了?为什么一定要拿个if控制???

最佳回答
0
hippomenes157Lv3见习互助
发布于2019-10-15 09:23

没看懂你要干啥

最佳回答
0
nide870716Lv3见习互助
发布于2019-10-16 15:17

不太明白楼主的意图,不过看报错信息应该是if后面要跟一个布尔值,而你跟的是一个查询结果集。

如果是想表达sql查询结果不为空,可以改成这个试试:

if((select count(ssld) from employess where ssld is not null)>0)


  • 7关注人数
  • 1299浏览人数
  • 最后回答于:2019-10-16 15:17
    请选择关闭问题的原因
    确定 取消
    返回顶部