欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

sql语句归并多条select avg(xxx).group by.查询结果到一张表

更新时间: 2014-01-05 02:17:08 责任编辑: Author_N1

 

SQL语句合并多条select avg(XXX)...group by...查询结果到一张表

select 
TH004 as 品号,
avg(TH015) as 采购进货数,
TH008 as 单位,
TG003 as 日期 
from PURTH left join PURTG 
on TG001=TH001 and TG002=TH002 
where TH030='Y' and TH015<>0 
group by 
TH004,TG003,TH008

查询结果为:



select 
TJ004 as 品号,
avg(TJ009) as 采购退货数,
TJ007 as 单位,
TI003 as 日期 
from PURTJ left join PURTI 
on TJ001=TI001 and TJ002=TI002 
where TJ020='Y' and TJ009<>0
group by 
TJ004,TI003,TJ007

查询结果为:


多个表查询结果合并结果为:


求教各位大大,结果用SQL语句如何实现?

--参考方法--
SELECT  品号 ,
        SUM(采购进货数) 采购进货数 ,
        SUM(采购退货数) 采购退货数 ,
        SUM(采购退货数) - SUM(采购退货数) AS [现存数] ,
        单位 ,
        日期
FROM    ( SELECT    TH004 AS 品号 ,
                    0 AS 采购退货数 ,
                    AVG(TH015) AS 采购进货数 ,
                    TH008 AS 单位 ,
                    TG003 AS 日期
          FROM      PURTH
                    LEFT JOIN PURTG ON TG001 = TH001
                                       AND TG002 = TH002
          WHERE     TH030 = 'Y'
                    AND TH015 <> 0
          GROUP BY  TH004 ,
                    TG003 ,
                    TH008
          UNION ALL
          SELECT    TJ004 AS 品号 ,
                    AVG(TJ009) AS 采购退货数 ,
                    0 AS 采购进货数 ,
                    TJ007 AS 单位 ,
                    TI003 AS 日期
          FROM      PURTJ
                    LEFT JOIN PURTI ON TJ001 = TI001
                                       AND TJ002 = TI002
          WHERE     TJ020 = 'Y'
                    AND TJ009 <> 0
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:17:08
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/7971/
本文WWW.DOC100.NET DOC100.NET版权所有。