求命令解释

SELECT * FROM S订单 as 订单

where 货主地区 is not null

${if(type='date', " and date(订单.订购日期) >= '" + 开始日期 + "' and date(订单.订购日期)<='" + 结束日期 + "'", "")}

${if(type='month', " and cast(strftime('%m',订单.订购日期) as int) = "+ 月 + " and strftime('%Y',订单.订购日期) = '" + 年+"'", "")}

${if(type='year', " and strftime('%Y',订单.订购日期) = '" + 年+"'", "")}

${if(len(是否已付)==0,"","and 是否已付 in ('"+是否已付+"')")}

${if(len(treelayer(地区,1))==0,"","and 货主地区='"+treelayer(地区,1)+"'")}

${if(len(treelayer(地区,2))==0,"","and 货主省份='"+treelayer(地区,2)+"'")}

${if(len(treelayer(地区,3))==0,"","and 货主城市='"+treelayer(地区,3)+"'")} 

${if(len(客户)==0,"","and 客户ID in ('"+客户+"')")}



求解释 或相关教程

FineReport wgw3721 发布于 2019-9-9 09:39
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
firegunzxLv6高级互助
发布于2019-9-9 09:39(编辑于 2019-9-9 09:58)

深入浅出 SQL(中文版).pdf

给你的教程学一下,sql是做报表的基础,必须会的

代码解释:

SELECT * FROM S订单 as 订单
where 货主地区 is not null

查询订单表中货主地区不为空的数据

${if(type='date', " and date(订单.订购日期) >= '" + 开始日期 + "' and date(订单.订购日期)<='" + 结束日期 + "'", "")}

如果参数类型为date(日期),增加条件:查询订单日期在开始日期和结束日期之间的数据

${if(type='month', " and cast(strftime('%m',订单.订购日期) as int) = "+ 月 + " and strftime('%Y',订单.订购日期) = '" + 年+"'", "")}

如果参数类型为month(月),增加条件:查询订单日期在某年某月的数据

${if(type='year', " and strftime('%Y',订单.订购日期) = '" + 年+"'", "")}

如果参数类型为year(年),增加条件:查询订单日期在某年的数据

${if(len(是否已付)==0,"","and 是否已付 in ('"+是否已付+"')")}

如果参数是否已付有值,增加条件:查询是否已付=参数是否已付

${if(len(treelayer(地区,1))==0,"","and 货主地区='"+treelayer(地区,1)+"'")}
${if(len(treelayer(地区,2))==0,"","and 货主省份='"+treelayer(地区,2)+"'")}
${if(len(treelayer(地区,3))==0,"","and 货主城市='"+treelayer(地区,3)+"'")} 
${if(len(客户)==0,"","and 客户ID in ('"+客户+"')")}

同是否已付原理,if(len(参数)==0用于判断参数是否为空,如果不为空就加上后面的条件。

  • 2关注人数
  • 373浏览人数
  • 最后回答于:2019-9-9 09:58
    请选择关闭问题的原因
    确定 取消
    返回顶部