|
目的:有A和B两份表格,A是存在日期数据的,B是没有日期的,现在要把A表的数据和B表的数据进行比对(统计次数)
代码是用在ERP上的自由报表上的,需要把两个数据串联起来进行查询,自由报表提供了一个类似R语言那样的设置,可以在自由报表上去筛选日期,但自由报表上筛选的日期,只能根据 第三段 的字段进行,而无法对所有字段进行单独筛选
第一段的查询里包含了很多不同日期的数据,具体的日期,需要在自由报表上进行筛选
第二段的查询没有日期的,但是由于是两个报表进行汇合,所以需要设定一个日期,又由于筛选的动作需要在ERP上进行,所以,需要将第二段日期字段的日期,设置为筛选的日期
也就是 筛选器控制第一段的日期,间接也控制了第二段的日期,求大神帮忙看看第二段的日期字段该怎么弄
#这里是第三段
select company,cangku,code,material,count(code) num from
(
#这里是第一段
SELECT distinct substr(ic_invcount_h.taudittime, 1, 10) Audittime, org_stockorg.name company, bd_stordoc.name cangku, bd_material.code code, bd_material_v.name material FROM ic_invcount_h ic_invcount_h INNER JOIN ic_invcount_b ic_invcount_b ON ic_invcount_h.cspecialhid = ic_invcount_b.cspecialhid INNER JOIN bd_stordoc bd_stordoc ON ic_invcount_b.cbodywarehouseid = bd_stordoc.pk_stordoc INNER JOIN bd_material_v bd_material_v ON ic_invcount_b.cmaterialoid = bd_material_v.pk_source INNER JOIN bd_material bd_material ON ic_invcount_b.cmaterialvid = bd_material.pk_material INNER JOIN org_stockorg org_stockorg ON ic_invcount_b.pk_org = org_stockorg.pk_stockorg
union all
#这里是第二段
SELECT distinct org_stockorg.name company, bd_stordoc.name cangku, bd_material.code code, bd_material_v.name material FROM ic_onhandnum ic_onhandnum INNER JOIN ic_onhanddim ic_onhanddim ON ic_onhandnum.pk_onhanddim = ic_onhanddim.pk_onhanddim INNER JOIN bd_material_v bd_material_v ON ic_onhanddim.cmaterialoid = bd_material_v.pk_source INNER JOIN bd_material bd_material ON ic_onhanddim.cmaterialvid = bd_material.pk_material INNER JOIN bd_stordoc bd_stordoc ON ic_onhanddim.cwarehouseid = bd_stordoc.pk_stordoc INNER JOIN org_stockorg org_stockorg ON ic_onhanddim.pk_org = org_stockorg.pk_stockorg where ic_onhandnum.nonhandnum <> '0'
)
group by company,cangku,code,material
|
|