找文章 / 找答案
精选问答 更多内容

如何在sql编写判断参数。

鹿先森青铜一 显示全部楼层 发表于 2023-11-30 14:55:40 |阅读模式 打印 上一主题 下一主题
1
已解决

如何在sql编写判断参数。

1967 9
参数1:发运/结算
参数2:发运时间
参数3:结算时间

当筛选选为参数1为发运时: 发运参数 >= 发运时间参数
当筛选选为参数1为结算时: 结算参数 >= 结算时间参数


如何在sql编写实现参数的嵌套

最佳答案

yhdata_lyaa 关注Ta

2023-11-30 14:55:41

不太清楚你的数据和参数,举个简单的例子、看看是否符合。 在数据集写,数据集里的参数都有默认值。 报告三个参数,且都有默认值 报告变化时脚本写 效果
查看完整内容
回复

使用道具 举报

精彩评论9

yhdata_lyaa 显示全部楼层 发表于 2023-11-30 14:55:41
不太清楚你的数据和参数,举个简单的例子、看看是否符合。
在数据集写,数据集里的参数都有默认值。


报告三个参数,且都有默认值


报告变化时脚本写


效果






回复

使用道具 举报

yhdata_lyaa 显示全部楼层 发表于 2023-11-30 15:16:52
咋写嵌套需要自己研究了
数据集sql使用参数参考https://www.yonghongtech.com/rea ... paramindataset.html
参数参与SQL过滤https://yonghongtechonline.udesk.cn/question/226409
回复

使用道具 举报

鹿先森青铜一 显示全部楼层 发表于 2023-11-30 15:36:35
yhdata_lyaa 发表于 2023-11-30 15:16
咋写嵌套需要自己研究了
数据集sql使用参数参考https://www.yonghongtech.com/real-help/Z-Suite/ ...

这个太简单了,实现不了,就是通过if判断,决定走哪个过滤条件
回复

使用道具 举报

yhdata_lyaa 显示全部楼层 发表于 2023-11-30 15:49:56
鹿先森 发表于 2023-11-30 15:36
这个太简单了,实现不了,就是通过if判断,决定走哪个过滤条件

一个思路可以试试


数据集sql查询参数用 ?{@a}

把 一段sql查询 语句作为参数,再脚本里写if进行判断
if(当筛选选为参数1等于 发运时){
param['a']=需要执行的sql语句1
}
if(当筛选选为参数1等于 结算时){
param['a']=需要执行的sql语句2
}








回复

使用道具 举报

鹿先森青铜一 显示全部楼层 发表于 2023-11-30 15:52:58

这个怎么写,能描述的详细点吗
回复

使用道具 举报

鹿先森青铜一 显示全部楼层 发表于 2023-11-30 16:05:05

select * from "blcs"
where
CASE WHEN ?{发运结算} = 1
THEN  to_date(发运时间,'yyyy-MM') >= ?{结束年月} and to_date(发运时间,'yyyy-MM') >= ?{结束年月}
ELSE   to_date(结算时间,'yyyy-MM') >= ?{开始年月} and to_date(结算时间,'yyyy-MM') >= ?{结束年月}
END;

这就是我想实现的sql,看看怎么写能正确
回复

使用道具 举报

yhdata_lyaa 显示全部楼层 发表于 2023-11-30 16:20:28
这两参数是啥,还有哪个字段在判断

回复

使用道具 举报

鹿先森青铜一 显示全部楼层 发表于 2023-11-30 16:26:26
yhdata_lyaa 发表于 2023-11-30 16:20
这两参数是啥,还有哪个字段在判断

参数1:?{发运结算}
参数2:?{开始年月}
参数3:?{结束年月}

select * from "blcs"
where 1=1
AND (CASE WHEN ?{发运结算} = 1 THEN 发运时间 ELSE 结算时间 END) >= ?{开始年月}
AND (CASE WHEN ?{发运结算} = 1 THEN 发运时间 ELSE 结算时间 END) <= ?{结束年月}这样写是不是清楚点
回复

使用道具 举报

鹿先森青铜一 显示全部楼层 发表于 2023-11-30 16:28:56
yhdata_lyaa 发表于 2023-11-30 16:20
这两参数是啥,还有哪个字段在判断

就是不知道过滤里面涉及到两个参数,我怎么写这个sql
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
50W

会员等你来哦

Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |《永洪社区协议》
返回顶部