日期:2014-05-17  浏览次数:20729 次

如何将两表查询合并成一个查询
第一个查询

SELECT     操作日期, SUM(作业吨位) AS 作业吨位
FROM         dbo.zyjl
WHERE     (CONVERT(varchar(7), 开始时间, 120) >= '2013-01') AND (CONVERT(varchar(7), 开始时间, 120) <= '2013-12')
GROUP BY 操作日期

第二个查询

SELECT   操作日期, SUM(超流量) AS 超流量
FROM  (SELECT     操作日期, CASE WHEN [类型] = '超流量' THEN [时间差] ELSE 0 END AS 超流量
FROM  dbo.llsj
WHERE (CONVERT(varchar(7), 开始时间, 120) >= '2013-01') AND (CONVERT(varchar(7), 开始时间, 120) <= '2013-12')) AS A
GROUP BY 操作日期
ORDER BY 操作日期

如何合并成
SELECT   操作日期,SUM(作业吨位) AS 作业吨位, SUM(超流量) AS 超流量 from .....?

------解决方案--------------------
SELECT  操作日期 ,
        SUM(作业吨位) AS 作业吨位 ,
        SUM(超流量) AS 超流量
FROM    ( SELECT    操作日期 ,
                    SUM(作业吨位) AS 作业吨位 ,
                    0 AS 超流量
          FROM      dbo.zyjl
          WHERE     ( CONVERT(VARCHAR(7), 开始时间, 120) >= '2013-01' )
                    AND ( CONVERT(VARCHAR(7), 开始时间, 120) <= '2013-12' )
          GROUP BY  操作日期
          UNION ALL
          SELECT    操作日期 ,
                    0 AS 作业吨位 ,
                    SUM(超流量) AS 超流量
          FROM      ( SELECT    操作日期 ,