簡體   English   中英

將具有不同列和數據的不同表合並

[英]Union different tables with differents columns and data

我的問題是我有4種選擇

SELECT COUNT (*) AS regular
WHERE experience = 1 AND bl = 1

SELECT COUNT (*) AS rptmm
WHERE experience = 1 AND bl = 0

SELECT COUNT (*) AS new
WHERE experience = 0 AND bl = 0

SELECT COUNT (*) AS rptss
WHERE experience = 0 AND bl = 1

我希望結果一起顯示,並帶有各自的名稱,例如:

regular rptmm  new  rptss
  10      5     2     6

首先,我建議不要使用Count( )* 這個站點上有很多答案,解釋了為什么,所以我不再重復。

相反,我建議您使用這樣的查詢:

SELECT     (SELECT COUNT (tab.someColumnName)
           FROM TableName tab
           WHERE tab.experience = 1 AND tab.bl = 1) AS 'Regular',

           (SELECT COUNT (tab.someColumnName)
           FROM TableName tab               
           WHERE tab.experience = 1 AND tab.bl = 0) AS 'rptmm',

           (SELECT COUNT (tab.someColumnName)
           FROM TableName tab
           WHERE tab.experience = 0 AND tab.bl = 0) AS 'New',

           (SELECT COUNT (tab.someColumnName)
           FROM TableName tab
           WHERE tab.experience = 0 AND tab.bl = 1) AS 'rptss'

希望這可以幫助!!!

只需將UNION ALL放在您的四個語句之間,您將獲得四行,每行分別計數。 但是,您將丟失列名。 您也可以使用join獲得四列的一行。 只需在每個sql語句之間放置關鍵字join。

SELECT COUNT (*) AS regular
WHERE experience = 1 AND bl = 1
JOIN
SELECT COUNT (*) AS rptmm
WHERE experience = 1 AND bl = 0
JOIN
SELECT COUNT (*) AS new
WHERE experience = 0 AND bl = 0
JOIN
SELECT COUNT (*) AS rptss
WHERE experience = 0 AND bl = 1

您可以創建一個臨時表來為您保存所有這些數據:將Name1,Name2,Name3,Name4替換為您想調用的任何名稱。 這些將是列標題。

CREATE TABLE #Temp(
                        NAME1 INT
                       ,NAME2 INT
                       ,NAME3 INT
                       ,NAME4 INT
            )

INSERT INTO #Temp
(NAME1)
SELECT COUNT(*) AS regular
WHERE experience = 1 AND bl = 1

INSERT INTO #Temp
(NAME2)
SELECT COUNT(*) AS regular
WHERE experience = 1 AND bl = 0

INSERT INTO #Temp
(NAME3)
SELECT COUNT(*) AS regular
WHERE experience = 0 AND bl = 0

INSERT INTO #Temp
(NAME4)
SELECT COUNT(*) AS regular
WHERE experience = 0 AND bl = 1*

SELECT * FROM #Temp

暫無
暫無

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

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