簡體   English   中英

如何將兩個sql查詢合並為一個

[英]How to combine two sql queries into one

如何組合這兩個SQL語句?

SELECT SUM(hits01 + hits02 + hits03 + hits04 + hits05 + hits06 + hits07 + hits08 + hits09) AS 'AEROwiz'
FROM tbl_2011
WHERE appName='AEROwiz'

SELECT SUM(hits10 + hits11 + hits12) AS 'AEROwiz'
FROM tbl_2010
WHERE appName='AEROwiz'

hits10,hits11和hits12存在於兩個表中。

使用UNION查詢 - 只需在兩個查詢之間填充“UNION”:

SELECT SUM(...) AS AEROWiz
FROM ...

UNION

SELECT SUM(...) AS AEROWiz
FROM ...

更新

在另一個查詢中包裝union:

SELECT SUM(AEROWiz)
FROM (
    .... unioned queries here
) AS child
SELECT  SUM(hits01 + hits02 + hits03 + hits04 + hits05 + hits06 +  
hits07 + hits08 + hits09) AS 'AEROwiz' 
FROM    tbl_2011 
WHERE   appName='AEROwiz' 

UNION ALL

SELECT  SUM(hits10 + hits11 + hits12) AS 'AEROwiz' 
FROM    tbl_2010 
WHERE   appName='AEROwiz' 

使用UNION ALL ,因為它將允許重復,並且UNION不會在查詢結果中放置重復項。 使用SUM()聚合,我猜測復制求和的可能性很大,所以我會選擇UNION ALL

您可以使用兩個子選擇:

SELECT
(
    SELECT SUM(hits01 + hits02 + hits03 + hits04 + hits05 + hits06 + hits07 + hits08 + hits09)
    FROM tbl_2011
    WHERE appName='AEROwiz'
) T1
+
(
    SELECT SUM(hits10 + hits11 + hits12)
    FROM tbl_2010
    WHERE appName='AEROwiz'
) T2
AS AEROwiz

您可能還需要考慮規范化數據庫,以便每年都沒有表格。

SELECT  SUM(hits01 + hits02 + hits03 + hits04 + hits05 + hits06 + 
hits07 + hits08 + hits09 + t2010.hits10 + t2010.hits11 + t2010.hits12) AS 'AEROwiz'
FROM tbl_2010 t2010
JOIN tbl_2011 t2011 ON t2010.appName = t2011.appName
WHERE t2010.appName='AEROwiz'

暫無
暫無

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

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