工作狂: 发表于 2021-7-28 08:21:20

引用查询参数

本帖最后由 Crystal.Li 于 2021-7-29 09:07 编辑

无法使用报表参数或数据集查询参数作为select的条件,这种情况必须要写VB脚本吗?

Crystal.Li 发表于 2021-7-28 17:49:46

工作狂: 发表于 2021-7-28 16:45
like '%xx%' 包含的是字符串,如果是包含报表参数的内容,应该怎样去写 ?直接是like @参数名称 吗?

您好,需要这么写:
select * from 销售明细 where 销售大区 like '%{IIF(@p1 = "", "", @p1)}%'

James.Lv 发表于 2021-7-28 10:22:34

您好,您使用的是什么数据库呢?SQL Server的参数是@,MySQL的参数是 ? ,Oracle是:
所以要具体看一下咱们用的什么数据库

工作狂: 发表于 2021-7-28 10:40:28

mysql数据库

工作狂: 发表于 2021-7-28 10:45:41

使用 ?会报错

Crystal.Li 发表于 2021-7-28 13:56:01

您好,您这个sql有点复杂,您这个需求需要使用动态sql的方式来实现,可以参考:
报表动态参数的实现
https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=73537&fromuid=59070
(出处: 葡萄城产品技术社区)


工作狂: 发表于 2021-7-28 16:23:27

实际上,我就需求就是1.报表参数为空,取全部数据。2.报表参数有内容,模糊查询取数据

Crystal.Li 发表于 2021-7-28 16:32:32

是的,理解您的需求,简单的查询可以通过?这种方式查询,因为一个?依次对应报表中添加的查询参数,因为您这个sql多次使用查询参数去进行条件判断,所以导致使用?的方式无法依次对应到查询参数,无法正确获取数据,所以需要使用动态sql拼接的方式,参照上条回复即可~

工作狂: 发表于 2021-7-28 16:45:33

like '%xx%' 包含的是字符串,如果是包含报表参数的内容,应该怎样去写 ?直接是like @参数名称 吗?

工作狂: 发表于 2021-7-28 23:43:03

好的,非常感谢
页: [1] 2
查看完整版本: 引用查询参数