Sunlike 自定义报表-增加多选查询视窗操作技巧
发布时间:2023-07-31 16:04:55 分享:

在自定义查询,以增加依货品大类+单号多选查询视窗的受订单明细表为例:

1)、新增Z01受订单号的多笔查询视窗的自定义查询并设置自定义类别:CX自定义参数设置,多笔显示:Y。

语句:

select  a.os_no as 受订单号,a.cus_no as 客户代号 from mf_pos a where   a.os_id='SO'

效果图:

2)、新增Z02货品大类的多笔查询视窗的自定义查询并设置自定义类别:CX自定义参数设置,多笔显示:Y。

语句:

select '1' as 大类, '商品' as 大类名称

union all select '2' , '制成品'

union all select '3' , '半成品'

union all select '4' , '原料'

union all select '5' , '物料'

union all select '6' , '下脚品'

union all select 'A' , '人工'

union all select 'B' , '费用'

union all select 'C' , '外包'

效果图:

3)、通过SQL参数charindex实现依货品大类+单号多选查询视窗的受订单明细表。

语句:

DECLARE @OS_NO varchar(100),@KND varchar(50)

SET @OS_NO = :Z01!受订单号;--定位到自定义查询受订单号多选查询视窗的代号:Z01

SET @KND = :Z02!大类;--定位到自定义查询货品大类多选查询视窗的代号:Z02

SELECT B.KND,A.* FROM TF_POS A  LEFT JOIN  PRDT B ON A.PRD_NO = B.PRD_NO

WHERE OS_ID = 'SO'

AND (CHARINDEX(';'+A.OS_NO+';',';'+@OS_NO +';')>0 OR ISNull(@OS_NO,'') = '')

AND (CHARINDEX(';'+B.KND+';',';'+@KND +';')>0 OR ISNull(@KND,'') = '')

效果图: