首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

怎么将两表查询合并成一个查询

2014-01-13 
如何将两表查询合并成一个查询第一个查询SELECT操作日期, SUM(作业吨位) AS 作业吨位FROMdbo.zyjlWHERE(CO

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


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    操作日期 ,
                                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  操作日期
        ) a
GROUP BY 操作日期
ORDER BY 操作日期

热点排行