皕杰技术社区

 找回密码
 立即加入

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1665|回复: 1

不输入参数值,怎么可以实现查询全部

[复制链接]
发表于 2018-9-6 18:07:09 | 显示全部楼层 |阅读模式
如果用户不输入参数,则默认为查询全部,这样的报表该怎么做?

发表于 2018-9-6 18:24:50 | 显示全部楼层
用拼字符串的方式来拼接sql,可以实现你的需求例如:
参数:@diqu、@city
原数据集sql
  1. select * from 订单 where   货主城市=?  and 货主地区= ?
复制代码
你就可以改成拼接的方式来实现
数据集修改sql
  1. ="select * from 订单 where 1=1 "+if(@city=null,""," and 货主城市='"+@city+"'")
  2.   +if(@diqu=null,""," and 货主地区='"+@diqu+"'")
复制代码
然后数据集编辑-数据集参数,引用的参数删除掉。
表达式中 if函数 是我们皕杰报表自带的函数,在帮助文档-使用手册-函数介绍-内置函数-单元格函数 这个位置有介绍。
if(@city=null,""," and 货主城市='"+@city+"'")这个表达式的意思是:如果city参数值为null 就不拼接这个where条件;如果不为空,就拼接这个where条件。

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

本版积分规则

QQ|小黑屋|手机版|皕杰软件 ( 京ICP备14050931号 )

GMT+8, 2024-11-1 07:52 , Processed in 1.028929 second(s), 17 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表