SQL在数据库中能查出数据,拷贝到finereport执行没报错,但是查询不到数据

SELECT CD_AMOUNT,CD_PROPORTION,TOTAL_AMOUNT,"DATE",BG 

FROM DW.DWS_CD_BY_AMOUNT_MONTH 

WHERE "YEAR"='${a}' AND "MONTH"='${b}'

FineReport 用户6zmbC6436039 发布于 2021-5-18 16:43
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
zsh331Lv8专家互助
发布于2021-11-22 17:28

SELECT 

    CD_AMOUNT

   ,CD_PROPORTION

   ,TOTAL_AMOUNT

   ,"DATE"

    ,BG 

FROM DW.DWS_CD_BY_AMOUNT_MONTH 

WHERE YEAR * 1 = ${a*1} AND MONTH = ${b*1}

——————————————————

最佳回答
0
Z4u3z1Lv6专家互助
发布于2021-5-18 16:47(编辑于 2021-5-18 16:50)

image.png

字段名没双引号,你加双引号就变成的"year"='2021'  and "month"='05'(字符串year等于字符串2021且字符串month等于字符串05),这个肯定是false,没有数据很正常

WHERE YEAR='${a}' AND MONTH='${b}'

  • 用户6zmbC6436039 用户6zmbC6436039(提问者) YEAR和MONTH去掉双引号也同样查不出数据
    2021-05-18 16:53 
  • Z4u3z1 Z4u3z1 回复 用户6zmbC6436039(提问者) 那就看 huyajun 的回复
    2021-05-18 16:53 
最佳回答
0
huyajunLv6初级互助
发布于2021-5-18 16:48

你检查一下你对应的控件名a b  

  • 用户6zmbC6436039 用户6zmbC6436039(提问者) a b 是传参,会被我输入的2021 和05替代
    2021-05-18 16:54 
  • 用户6zmbC6436039 用户6zmbC6436039(提问者) YEAR=\'2021’和MONTH=\'05’在我数据库中是有数据的
    2021-05-18 16:57 
  • huyajun huyajun 回复 用户6zmbC6436039(提问者) 你传参是通过前端控件选择的,你需要检查你的参数是否被传进来了,你看你的控件名是否与参数一致
    2021-05-18 17:09 
  • 用户6zmbC6436039 用户6zmbC6436039(提问者) 回复 huyajun 是一致的,而且我在sql上把值写死也查询不出数据
    2021-05-18 17:25 
最佳回答
0
小盆友Lv3见习互助
发布于2021-5-18 17:04
  1. 使用预览sql工具,填写相应的值,确保能成功查询

  2. 确保变量${a}${b}不为空

最佳回答
0
小小萌新Lv4见习互助
发布于2021-11-22 20:19

先把where去掉,看否有值,如果没有值,那么就可能你的数据集选错数据库了或是sql问题。有值就是参数没设置对或者数据库没有可用满足该参数值的数据

  • 5关注人数
  • 520浏览人数
  • 最后回答于:2021-11-22 20:19
    请选择关闭问题的原因
    确定 取消
    返回顶部