打印本文 打印本文 关闭窗口 关闭窗口
SQL中UNION 与 UNION ALL 的区别
作者:武汉SEO闵涛  文章来源:敏韬网  点击数4089  更新时间:2007/11/14 11:11:23  文章录入:mintao  责任编辑:mintao
问题:

       通过以上结果,可以发现GR180.14.2.1后机架、PY165G.14.2.1B后机架和PY165K.14.2.1后机架的明细与其二级汇总值明显不符。而二级汇总的值是正确,为什么明细与汇总值不符?

针对这个问题,我采用了第二种方案。

方案二,其代码如下:

SELECT dbo.Key_item.Key_item_name AS Item_Name,

      dbo.H_MORVE.QTY_RECVD1 AS Quantity, dbo.Key_item.Style AS Style

FROM dbo.Key_item LEFT OUTER JOIN

      dbo.H_MORVE ON dbo.Key_item.Key_item = dbo.H_MORVE.ITEM

WHERE (dbo.Key_item.Key_item <> 1)

UNION ALL(

SELECT dbo.Key_item.Key_item_name AS Item_Name,

      SUM(dbo.H_MORVE.QTY_RECVD1) AS Quantity,MAX(dbo.Key_item.Style) AS Style

FROM dbo.Key_item LEFT OUTER JOIN

      dbo.H_MORVE ON dbo.Key_item.Key_item = dbo.H_MORVE.ITEM

WHERE (dbo.Key_item.Key_item <> 1)

GROUP BY dbo.Key_item.Style,dbo.Key_item.Key_item_name

UNION

SELECT MAX(dbo.Key_item.Key_item_name) as Item_Name,

SUM(dbo.H_MORVE.QTY_RECVD1) as Quantity,

      dbo.Key_item.Style as Style

FROM dbo.Key_item LEFT OUTER JOIN

      dbo.H_MORVE ON dbo.Key_item.Key_item = dbo.H_MORVE.ITEM

GROUP BY dbo.Key_item.Style)

ORDER BY dbo.Key_item.Style asc

GO

其结果如图:

通过以上的例子,大家可以看出在UNIONUNION ALL在应用上区别。

本人是应界本科生,愿从事企业信息信息化建设,希望有用人需求的企业与我联系。

伊妹儿:Leew4u@126.com

本人静候

上一页  [1] [2] [3] 

打印本文 打印本文 关闭窗口 关闭窗口