SQL语句

1634170646(1).jpg1634170182(1).jpgSELECT

COUNT(BADQTY)

FROM DGBINREWORK 

WHERE MACHINECODE in ('B73','B47','B45','B55','B09','B69','B46','B13','B07','B54','B50','B63','B53','B64','B76','B60','B44','B68','B65','B66','B74','B67','B57','B20','B05','B26','B48','B36','B27','B29')

AND REASONCODE='油污'

AND TO_CHAR(EVENTTIME,'YYYY-MM-DD')>= ('2021-10-13')

AND TO_CHAR(EVENTTIME,'YYYY-MM-DD')<= ('2021-10-13')

group by MACHINECODE

我这个sql 现在他这里面的条件如果COUNT(BADQTY)没有的话 他就不显示东西直接跳过了 我想的是让他没有的话就行显示0这样的 有会的大佬 麻烦加下我475547619

他只会显示我有的值

我有三十个参数值,实际上查出来只有13条数据

像图一那样的 他就没有给我显示出来

1634171662(1).jpg

a475547619 发布于 2021-10-13 17:59 (编辑于 2021-10-14 08:34)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
zyuzhangLv4见习互助
发布于2021-10-13 18:58(编辑于 2021-10-14 08:30)

sql没啥问题,查出来的条数是多少,显示的值就是多少

image.png

  • a475547619 a475547619(提问者) 大佬看下我的截图 我在数据库工具里查出来的跟实际参数 数不一致
    2021-10-14 08:12 
  • zyuzhang zyuzhang 回复 a475547619(提问者) 你把group by 的那个字段也加上,看显示出来的缺少哪一个,看是不是没有这个数据导致的
    2021-10-14 08:16 
  • zyuzhang zyuzhang 回复 a475547619(提问者) SELECT COUNT(BADQTY),MACHINECODE FROM DGBINREWORK WHERE MACHINECODE in (\'B73\',\'B47\',\'B45\',\'B55\',\'B09\',\'B69\',\'B46\',\'B13\',\'B07\',\'B54\',\'B50\',\'B63\',\'B53\',\'B64\',\'B76\',\'B60\',\'B44\',\'B68\',\'B65\',\'B66\',\'B74\',\'B67\',\'B57\',\'B20\',\'B05\',\'B26\',\'B48\',\'B36\',\'B27\',\'B29\') AND REASONCODE=\'油污\' AND TO_CHAR(EVENTTIME,\'YYYY-MM-DD\')>= (\'2021-10-13\') AND TO_CHAR(EVENTTIME,\'YYYY-MM-DD\')<= (\'2021-10-13\') group by MACHINECODE 类似这种的
    2021-10-14 08:16 
  • a475547619 a475547619(提问者) 回复 zyuzhang 老哥 不行 就像我图一那样不显示
    2021-10-14 08:20 
  • zyuzhang zyuzhang 回复 a475547619(提问者) 你看我新贴出来的图,就像那个样子的,不行的话可以远程吗
    2021-10-14 08:31 
最佳回答
0
15922204585Lv6高级互助
发布于2021-10-13 18:01(编辑于 2021-10-13 18:03)

case when then else end

不对呀,默认就是0呀

最佳回答
0
Moki_minLv5初级互助
发布于2021-10-13 18:26

COUNT(BADQTY) 计算出来就是0哦,具体不显示东西就跳过是什么情况,截图看下

最佳回答
0
尛鬼Lv5中级互助
发布于2021-10-14 08:19(编辑于 2021-10-14 08:26)

~

  • a475547619 a475547619(提问者) 报错的 老哥
    2021-10-14 08:32 
  • 尛鬼 尛鬼 回复 a475547619(提问者) 再建一张表A,插入30行数据,对应\'B73\',\'B47\',\'B45\',\'B55\',\'B09\',\'B69\',\'B46\',\'B13\',\'B07\',\'B54\',\'B50\',\'B63\',\'B53\',\'B64\',\'B76\',\'B60\',\'B44\',\'B68\',\'B65\',\'B66\',\'B74\',\'B67\',\'B57\',\'B20\',\'B05\',\'B26\',\'B48\',\'B36\',\'B27\',\'B29\' 这些,然后用新建的表A去left join 你上面的数据集 select A.MACHINECODE ,isnull(c) sl from A left join (SELECT MACHINECODE ,COUNT(BADQTY) as c FROM DGBINREWORK WHERE MACHINECODE in (\'B73\',\'B47\',\'B45\',\'B55\',\'B09\',\'B69\',\'B46\',\'B13\',\'B07\',\'B54\',\'B50\',\'B63\',\'B53\',\'B64\',\'B76\',\'B60\',\'B44\',\'B68\',\'B65\',\'B66\',\'B74\',\'B67\',\'B57\',\'B20\',\'B05\',\'B26\',\'B48\',\'B36\',\'B27\',\'B29\') AND REASONCODE=\'油污\' AND TO_CHAR(EVENTTIME,\'YYYY-MM-DD\')>= (\'2021-10-13\') AND TO_CHAR(EVENTTIME,\'YYYY-MM-DD\')<= (\'2021-10-13\') group by MACHINECODE ) as a1 on a.MACHINECODE = a1.MACHINECODE
    2021-10-14 08:43 
最佳回答
0
宁静yzm861917Lv6见习互助
发布于2021-10-15 13:34

ELECT

COUNT(BADQTY)

FROM DGBINREWORK 

WHERE MACHINECODE in ('B73','B47','B45','B55','B09','B69','B46','B13','B07','B54','B50','B63','B53','B64','B76','B60','B44','B68','B65','B66','B74','B67','B57','B20','B05','B26','B48','B36','B27','B29')

AND REASONCODE='油污'

AND TO_CHAR(EVENTTIME,'YYYY-MM-DD')>= ('2021-10-13')

AND TO_CHAR(EVENTTIME,'YYYY-MM-DD')<= ('2021-10-13')

group by MACHINECODE

having COUNT(BADQTY)>0

  • 6关注人数
  • 558浏览人数
  • 最后回答于:2021-10-15 13:34
    请选择关闭问题的原因
    确定 取消
    返回顶部