在navicat能查询到数据,在数据集查询数据为空怎么回事呢

select 门店名称,count(distinct(门店名称))店面数量,month(日期)月份,year(日期)年份 from `员工业绩排行榜` where 

if('${门店}' = '',year(日期)='${年度}' ,year(日期)='${年度}' and 门店名称 = '${门店}') 

IN (SELECT 门店 FROM 区域 WHERE `类别`<>'' and `类别`<>'关停') 

group by 门店名称,日期

这是sql语句

SQL 郭大王1 发布于 2022-9-9 10:04
1min目标场景问卷 立即参与
回答问题
悬赏:0 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
郭大王1Lv2见习互助
发布于2022-9-9 10:33

select 门店,count(distinct(门店))店面数量,month(日期)月份,year(日期)年份 from 消费明细表 where 

if('${门店}' = '',year(日期)='${年度}' ,year(日期)='${年度}' and 门店 = '${门店}') and 门店 IN (SELECT 门店 FROM 区域 WHERE `类别`<>'' and `类别`<>'关停') 

group by 门店,日期

最佳回答
0
Z4u3z1Lv6专家互助
发布于2022-9-9 10:05(编辑于 2022-9-9 10:12)

参数值传对了么?

image.png

  • 郭大王1 郭大王1(提问者) 现在是查询的时候年份不填可以查出,是不是年份定义错了呢
    2022-09-09 10:08 
  • Z4u3z1 Z4u3z1 回复 郭大王1(提问者) 另外你这个SQL看不懂哦
    2022-09-09 10:09 
  • Z4u3z1 Z4u3z1 回复 郭大王1(提问者) 你看补充的图。if我们通常按绿框所示的写。红框中的 你没指定什么字段 in,大概猜测应该是 and 门店 in
    2022-09-09 10:14 
  • 郭大王1 郭大王1(提问者) 回复 Z4u3z1 IN后面想用这个查询门店作为条件跟门店名称匹配
    2022-09-09 10:15 
  • Z4u3z1 Z4u3z1 回复 郭大王1(提问者) 学习一下SQL吧。XX字段 in().你只有 in,没指名XX字段。而且IF也不符合语法 https://help.fanruan.com/finereport/doc-view-4455.html 一个简单的帆软SQL数据集if语句
    2022-09-09 10:26 
最佳回答
0
RiveryLv5中级互助
发布于2022-9-9 10:05(编辑于 2022-9-9 10:13)

if语句写错了

下面那个in是啥东西

----

${if(len(门店)==0,"to_date(日期,"yyyy")='"+年度+"'","to_date(日期,"yyyy")='"+年度+"' and 门店名称 = '"+门店+"'")}

SQL日期函数自行百度

  • 郭大王1 郭大王1(提问者) 哪块错了呢
    2022-09-09 10:08 
  • 告白关系 告白关系 if(\'${门店}\' = \'\',year(日期)=\'${年度}\' ,year(日期)=\'${年度}\' and 门店名称 = \'${门店}\') IN (SELECT 门店 FROM 区域 WHERE `类别`<>\'\' and `类别`<>\'关停\') 这块有问题
    2022-09-09 10:10 
  • Rivery Rivery 回复 郭大王1(提问者) 感觉你SQL有问题,你这个in是哪个字段in的?
    2022-09-09 10:13 
最佳回答
0
就TM你叫夏洛啊Lv6中级互助
发布于2022-9-9 10:12

sql写错了,格式是${if(判断条件,xxx,xxxx)}

  • 1关注人数
  • 522浏览人数
  • 最后回答于:2022-9-9 10:33
    请选择关闭问题的原因
    确定 取消
    返回顶部