如何將這兩個查詢合併爲1?兩者都使用2個不同的數據庫,但都在同一臺服務器上。我會在這裏使用子選擇還是聯盟?來自多個數據庫的MySQL多個查詢
我基本上都會想是這樣,顯示如下:
User name | Total A | Total B
jon 5 3
tim 4 2
sarah 3 1
這裏有疑問:
首先查詢:
SELECT
U.USR_USERNAME AS `User Name`,
COUNT(rp_workflow.PIG.APP_UID) AS 'Total A'
FROM
rp_workflow.PMT_INSP_GRID PIG
JOIN
rp_workflow.PMT_INSP_NORMAL PIN
ON PIG.APP_UID = PIN.APP_UID
JOIN
wf_workflow.USERS U
ON PIN.USR_UID_ORDER = U.USR_UID
GROUP BY
U.USR_USERNAME
第二個查詢:
SELECT
U.USR_USERNAME AS `User Name`,
COUNT(rp_workflow.PIQG.APP_UID) AS 'Total B'
FROM
rp_workflow.PMT_INSP_QC_GRID PIQG
JOIN
rp_workflow.PMT_INSP_NORMAL PIN
ON PIQG.APP_UID = PIN.APP_UID
JOIN
wf_workflow.USERS U
ON PIN.USR_UID_QC = U.USR_UID
WHERE
PIN.APP_STATUS = 'Completed'
GROUP BY
U.USR_USERNAME
編輯:嘗試了一個子選擇,但它最終只顯示第二個查詢的所有值的總和。感覺我很近,但也變得更加困惑。
SELECT
U.USR_USERNAME AS `User Name`,
COUNT(rp_workflow.PIG.APP_UID) AS 'Total A',
(SELECT
COUNT(rp_workflow.PIQG.APP_UID)
FROM
rp_workflow.PMT_INSP_QC_GRID PIQG
JOIN
rp_workflow.PMT_INSP_NORMAL PIN
ON PIQG.APP_UID = PIN.APP_UID
JOIN
wf_workflow.USERS U
ON PIN.USR_UID_QC = U.USR_UID
WHERE
PIN.APP_STATUS = 'Completed') AS 'Total B'
FROM
rp_workflow.PMT_INSP_GRID PIG
JOIN
rp_workflow.PMT_INSP_NORMAL PIN
ON PIG.APP_UID = PIN.APP_UID
JOIN
wf_workflow.USERS U
ON PIN.USR_UID_ORDER = U.USR_UID
GROUP BY
U.USR_USERNAME
它顯示的內容:
User name | Total A | Total B
jon 5 6
編輯2:*的USR_UID不存在於表豬或PIQG所以他們必須加入到表PIN。從那裏,用戶名可以檢索
嘗試這樣的查詢,但最終得到的未知列錯誤:
SELECT wf_workflow.U.USR_USERNAME AS `User Name` ,
(SELECT count(PIG.APP_UID)
FROM rp_workflow.PMT_INSP_GRID PIG
JOIN rp_workflow.PMT_INSP_NORMAL PIN ON PIG.APP_UID = PIN.APP_UID
AND PIN.USR_UID_ORDER = U.USR_UID) AS 'Total A',
(SELECT count(PIQG.APP_UID)
FROM rp_workflow.PMT_INSP_QC_GRID PIQG
JOIN rp_workflow.PMT_INSP_NORMAL PIN2 ON PIQG.APP_UID = PIN2.APP_UID
AND PIN2.USR_UID_ORDER = wf_workflow.U.USR_UID
WHERE PIN2.APP_STATUS = 'Completed') AS 'Total B'
FROM wf_workflow.USERS U
嘗試把數據庫名一樣,這個表名之前。 - '[Db Name]。[Table Name]' –
@MikeBrant我嘗試了一個子選擇,但它只顯示第二個查詢的所有值的總和。看我的第一篇文章 – justWired