sql()函数的使用

SELECT * FROM (

SELECT 

'B01' PD,

SECONE_ID,SECONE_NAME FROM INPUT_DIM_SJZD

WHERE FIRST_ID = 'A05'

AND SECONE_ID  IN('B04','B05')

UNION ALL

SELECT 

'B02' PD,

SECONE_ID,SECONE_NAME FROM INPUT_DIM_SJZD

WHERE FIRST_ID = 'A05'

AND SECONE_ID  IN('B04','B05')

UNION ALL

SELECT 

'B03' PD,

SECONE_ID,SECONE_NAME FROM INPUT_DIM_SJZD

WHERE FIRST_ID = 'A05'

AND SECONE_ID  IN('B06','B07')

) A

WHERE PD = '${L3}'

这是我的sql,这个L3是单元格参数,我把这一段放到sql的查询里就会无法识别,请问这个该如何使用

image.png

FineReport 18847124794 发布于 2020-7-30 17:14
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
吾姓独孤Lv6高级互助
发布于2020-7-30 17:26

第一,在公式里用sql得用sql函数,第二,用了sql函数就不能换行,sql函数的用法是sql("数据连接","sql语句",列序号,行序号(可以省略))这里的sql函数里的sql语句你如果换行,帆软sql公式是识别不了的,必须保证是一个字符串,所以一般遇到sql里需要用到报表的参数或者字段等就需要通过拼接的方式将参数或者字段添加到sql公式里

最佳回答
0
snrtuemcLv8专家互助
发布于2020-7-30 17:17(编辑于 2020-7-30 17:25)

sql语句不能放在公式定义器内,要放到数据集中才可以

image.png


INARRAY(B3,SQL("CNPC_DB","SELECT * FROM (SELECT  'B01' PD,SECONE_ID,SECONE_NAME FROM  INPUT_DIM_SJZD WHERE FIRST_ID = 'A05' AND SECONE_ID  IN('B04','B05') UNION ALL SELECT  'B02' PD,SECONE_ID,SECONE_NAME FROM INPUT_DIM_SJZD WHERE FIRST_ID = 'A05' AND SECONE_ID  IN('B04','B05') UNION ALL SELECT  'B03' PD,SECONE_ID,SECONE_NAME FROM INPUT_DIM_SJZD WHERE FIRST_ID = 'A05' AND SECONE_ID  IN('B06','B07'))  A WHERE PD = '"+L3+"' ",1))<>0

  • 18847124794 18847124794(提问者) 我这个是要写成公式定义的,类似这个这样的,这是这个sql有点复杂,然后就识别不出来了INARRAY(B3,SQL(\"CNPC_DB\",\"select depertment_name from INPUT_DIM_DEPERTMENT where COMPANY_ID = \'\"+A3+\"\' \",1))<>0
    2020-07-30 17:19 
  • snrtuemc snrtuemc 回复 18847124794(提问者) 改成修改答案那样试试
    2020-07-30 17:23 
  • 18847124794 18847124794(提问者) 回复 snrtuemc 这样的之后提示公式解析错误,这样是可以的,我也改成这样试了,可以识别,但是提示公式解析错误...
    2020-07-30 17:40 
最佳回答
0
ColdmanLv6高级互助
发布于2020-7-30 17:17(编辑于 2020-7-30 17:29)
INARRAY('张雪眉',sql("FRDemo","select 姓名 from 雇员 where 性别 = '"+B2+"'",1))

你现在数据库可视化工具里把正确的SQL写出来

收尾添加双引号,然后每个参数部分这样修改  "+$参数名+"

WorkBook27.cpt


  • 18847124794 18847124794(提问者) 我现在用到参数的就只有最后这个单元格参数,但是现在我不放参数进去,也识别不了
    2020-07-30 17:18 
  • Coldman Coldman 回复 18847124794(提问者) 看编辑后的公式
    2020-07-30 17:22 
  • Coldman Coldman 回复 18847124794(提问者) 添加单元格为参数的demo和公式的写法看新编辑的回复,自己对应着看公式是哪错了
    2020-07-30 17:30 
最佳回答
0
廿旧Lv5见习互助
发布于2020-7-30 17:22

不换行试试...

  • 5关注人数
  • 910浏览人数
  • 最后回答于:2020-7-30 17:29
    请选择关闭问题的原因
    确定 取消
    返回顶部