-
-
wyqmd 小试身手Lv3
发表于2019-1-18 15:34
悬赏1
已解决
楼主
本帖最后由 wyqmd 于 2019-1-18 15:35 编辑
各位老师们.好
图1 报表样式
图2 数据来源表样式
请问 报表样式中的 初期数量与金额,应该怎么计算呢.
要求是输入 年份/月份 过滤条件.展示报表..
SQL
用户输入筛选条件: 年份/ 月份
select t0.ItemCode,t1.初期数量,SUM(t0.BQR_Quantity) as '本期入库数量',SUM(t1.BQC_Quantity) as '本期出库数量', from ckjxc1017 t0
left join
(select t1.ItemCode , (SUM(t1.BQR_Quantity) - SUM(t1.BQC_Quantity)) AS '初期数量' from ckjxc1017 t1 where t1.years ='变量年份' and t1.month < '变量月份')
t00 on t00.ItemCode = t0.ItemCode
where t1.years ='变量年份' and t1.month = '变量月份'
请问 我在报表工具中,怎么把客户输入的过滤条件,传到子查询(灰色部份)中????
请老师解答一下...
各位老师们.好
图1 报表样式
图2 数据来源表样式
请问 报表样式中的 初期数量与金额,应该怎么计算呢.
要求是输入 年份/月份 过滤条件.展示报表..
SQL
用户输入筛选条件: 年份/ 月份
select t0.ItemCode,t1.初期数量,SUM(t0.BQR_Quantity) as '本期入库数量',SUM(t1.BQC_Quantity) as '本期出库数量', from ckjxc1017 t0
left join
(select t1.ItemCode , (SUM(t1.BQR_Quantity) - SUM(t1.BQC_Quantity)) AS '初期数量' from ckjxc1017 t1 where t1.years ='变量年份' and t1.month < '变量月份')
t00 on t00.ItemCode = t0.ItemCode
where t1.years ='变量年份' and t1.month = '变量月份'
请问 我在报表工具中,怎么把客户输入的过滤条件,传到子查询(灰色部份)中????
请老师解答一下...


最佳答案
sql数据源传参的问题可以参考下面两个帖子,有相关问题文档,可下载查看
http://bbs.esensoft.com/thread-128857-1-1.html
http://bbs.esensoft.com/thread-129289-1-1.html
http://bbs.esensoft.com/thread-128857-1-1.html
http://bbs.esensoft.com/thread-129289-1-1.html
9个回答
sql数据源传参的问题可以参考下面两个帖子,有相关问题文档,可下载查看
http://bbs.esensoft.com/thread-128857-1-1.html
http://bbs.esensoft.com/thread-129289-1-1.html
不客气的,社区上有很多sql数据源的帖子,可以搜一搜的哈
本帖最后由 wyqmd 于 2019-1-22 14:19 编辑
缱绻发表于2019-1-18 15:34
sql数据源传参的问题可以参考下面两个帖子,有相关问题文档,可下载查看
http://bbs.esensoft.com/thread-1...
老师,求助。select t00.years,t00.month,t00.ItemCode,t00.ItemName,t00.ItmsGrpNam,t00.ItmsFLaName,t00.ItmsFLbName,t00.MaterialBrand,t00.InvntryUom,
t11.初期数量,t11.初期金额,
t22.本期入库数量,t22.本期入库金额,
t22.本期出库数量,t22.本期出库金额,
(t11.初期数量+t22.本期入库数量-t22.本期出库数量) as '期末数量',
(t11.初期金额+t22.本期入库金额-t22.本期出库金额) as '期末金额'
FROM
(
select t0.years,t0.month,t0.ItemCode,t0.ItemName,t0.ItmsGrpNam,t0.ItmsFLaName,t0.ItmsFLbName,t0.MaterialBrand,t0.InvntryUom,Count(*) as '行'
FROM DEFAULT_CKJXC1017 t0
Group By t0.years,t0.month,t0.ItemCode,t0.ItemName,t0.ItmsGrpNam,t0.ItmsFLaName,t0.ItmsFLbName,t0.MaterialBrand,t0.InvntryUom Having Count(*) > 1
) t00
left join
(
select t1.ItemCode,(sum(t1.BQR_Quantity) - sum(t1.BQC_Quantity)) as '初期数量',(sum(t1.BQR_Amount) - sum(t1.BQC_Amount)) as '初期金额' FROM DEFAULT_CKJXC1017 t1
where t1.DocDate < '<#=@p9116#>'
Group By t1.ItemCode
) t11 on t11.ItemCode = t00.ItemCode
left join
(
select t2.ItemCode,
SUM(t2.BQR_Quantity) AS '本期入库数量',
SUM(t2.BQR_Amount) AS '本期入库金额',
SUM(t2.BQC_Quantity) AS '本期出库数量',
SUM(t2.BQC_Amount) AS '本期出库金额'
FROM DEFAULT_CKJXC1017 t2
WHERE t2.DocDate >= '<#@p9116#>' and t2.DocDate <= '<#@p7775#>'
Group By t2.ItemCode
) t22 on t22.ItemCode = t00.ItemCode
增加条件测试不通。
什么原因?
wyqmd 发表于 2019-1-22 14:13
老师,求助。select t00.years,t00.month,t00.ItemCode,t00.ItemName,t00.ItmsGrpNam,t00.ItmsFLaName,t00 ...
因为sql中宏表达式,这个不用测试,直接用就可以了。