倒数第2行的写法,查询控件必须要有参数选择才能显示报表数据,不选也能显示报表数据,要怎么改

select A.GSDM AS 公司,YEAR(A.SWRQ) AS 年,month(A.SWRQ) AS 月,sum(B.CHSL) AS 进货数量 from USWH A 

join USWB B ON A.DjLsh=B.DjLsh

WHERE (a.DjState ='审核' or  a.DjState ='记帐' )and b.CHDW ='卡'

${if(len(公司)==0,"","and A.GSDM  in ('"+公司+"')")}

 

${if(len(月)==0,"","and MONTH(A.SWRQ)  in ("+月+")")}

GROUP BY A.GSDM, YEAR(A.SWRQ),  MONTH(A.SWRQ)

SQL MiJHNQuK 发布于 2025-8-8 09:20
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
MiJHNQuKLv0见习互助
发布于4 天前

${if(len(月)==0,"","and MONTH(A.SWRQ)  in ("+月+")")}

改为

${if(len(月)<=2,""," and MONTH(A.SWRQ) in (" +月+ ")")}

最佳回答
0
shirokoLv6资深互助
发布于2025-8-8 09:21(编辑于 2025-8-8 09:22)

你这个不选也能查出数据啊,没问题

-

如果你要不选查不出数据,可以改成这样

${if(len(公司)==0,"and 0=1","and A.GSDM  in ('"+公司+"')")}

${if(len(月)==0,"and 0=1","and MONTH(A.SWRQ)  in ("+月+")")}

最佳回答
0
runnerLv7资深互助
发布于2025-8-8 09:21(编辑于 2025-8-8 09:22)

你的需求是,不选显示报表数据吗?

select A.GSDM AS 公司,YEAR(A.SWRQ) AS 年,month(A.SWRQ) AS 月,sum(B.CHSL) AS 进货数量 from USWH A 

join USWB B ON A.DjLsh=B.DjLsh

WHERE (a.DjState ='审核' or  a.DjState ='记帐' )and b.CHDW ='卡'

${if(len(公司)==0,"1=2","and A.GSDM  in ('"+公司+"')")}

 

${if(len(月)==0,"1=2","and MONTH(A.SWRQ)  in ("+月+")")}

GROUP BY A.GSDM, YEAR(A.SWRQ),  MONTH(A.SWRQ)   这个是不选显示为空

最佳回答
0
期待遇见youLv4初级互助
发布于2025-8-8 09:25

WHERE 1=1

${if(len(公司)==0,"","and A.GSDM  in ('"+公司+"')")}

${if(len(月)   ==0,"","and MONTH(A.SWRQ)  in ("+月+")")}

and  (a.DjState ='审核' or  a.DjState ='记帐' ) 

and b.CHDW ='卡'

GROUP BY A.GSDM, YEAR(A.SWRQ),  MONTH(A.SWRQ)

  • 3关注人数
  • 28浏览人数
  • 最后回答于:4 天前
    请选择关闭问题的原因
    确定 取消
    返回顶部