簡體   English   中英

具有分組依據和條件的MS Access Union查詢

[英]MS Access Union Query with group by and criteria

我有以下查詢,並且需要與另一個具有完全相同字段的表進行聯合。 但是,該標准可以涵蓋兩個表中的信息。

關於如何與小組成員和准則進行合並的任何想法?

SELECT sporderpipeline.coordinator, 
       sporderpipeline.[update date], 
       Count(sporderpipeline.loan_number) AS CountOfLoan_Number, 
       sporderpipeline.[data source] 
FROM   sporderpipeline 
GROUP  BY sporderpipeline.coordinator, 
          sporderpipeline.[update date], 
          sporderpipeline.status, 
          sporderpipeline.[data source] 
HAVING ( ( ( sporderpipeline.[update date] ) BETWEEN #8/23/2015# AND #8/24/2015# 
         ) 
         AND ( ( sporderpipeline.status ) IS NOT NULL ) ); 

您不需要為這些條件使用HAVING子句HAVING僅對於基於諸如COUNT或SUM之類的聚合函數的條件是必需的。

編寫UNION查詢的最簡單方法如下:

SELECT [sporderpipeline].[coordinator], 
       [sporderpipeline].[update date], 
       Count([sporderpipeline].[loan_number]) AS CountOfLoan_Number, 
       [sporderpipeline].[data source] 
FROM   sporderpipeline 
WHERE  [update date] BETWEEN #8/23/2015# AND #8/24/2015# 
       AND status IS NOT NULL 
GROUP  BY [sporderpipeline].[coordinator], 
          [sporderpipeline].[update date], 
          [sporderpipeline].[status], 
          [sporderpipeline].[data source] 
UNION 
SELECT [sporderpipeline].[coordinator], 
       [sporderpipeline].[update date], 
       Count([sporderpipeline].[loan_number]) AS CountOfLoan_Number, 
       [sporderpipeline].[data source] 
FROM   sporderpipeline 
WHERE  [update date] BETWEEN #8/23/2015# AND #8/24/2015# 
       AND status IS NOT NULL 
GROUP  BY [sporderpipeline].[coordinator], 
          [sporderpipeline].[update date], 
          [sporderpipeline].[status], 
          [sporderpipeline].[data source] 

話雖如此,它也可以與不與UNION不兼容的HAVING子句一起使用。

創建伴隨查詢。 我們將其稱為MyQuery_Second

SELECT * FROM MyQuery_First UNION SELECT * FROM MyQuery_Second;

...甚至可能...

MyQuery_First UNION MyQuery_Second;

它應該工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM