亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

聯接兩個SELECT語句結果

聯接兩個SELECT語句結果

Cats萌萌 2019-12-10 09:50:04
是否可以SELECT在一條語句中加入2條sql 語句的結果?我有一個任務數據庫,其中每個記錄都是一個單獨的任務,帶有截止日期(并且a PALT,INT從開始到截止日期只有幾天的時間。 Age也是INT幾天的時間。)我想要一個表,其中包含表中的每個人,他們擁有的LATE任務數以及他們擁有的任務數(如果有)。我可以輕松地在單獨的表中獲取此數據,如下所示:SELECT ks, COUNT(*) AS '# Tasks' FROM Table GROUP BY ks返回數據,例如:ks        # Tasksperson1   7person2   3然后我有:SELECT ks, COUNT(*) AS '# Late' FROM Table WHERE Age > Palt GROUP BY ks返回:ks        # Lateperson1   1person2   1我想加入這兩個select語句的結果(通過KS)我試圖避免使用臨時表,但是如果這是唯一可行的方法,那么我想了解更多有關以這種方式使用臨時表的信息。我也嘗試做一些count()滿足條件的行,但是我也不知道怎么做。如果可能的話,那也可以。附錄:對不起,我想我的結果有列KS,Tasks和LateKS        # Tasks   # Lateperson1   7         1person2   3         1person3   2         0  (or null)另外,即使他們沒有遲到的任務,我也希望一個人出現。SUM(CASE WHEN Age > Palt THEN 1 ELSE 0 END) Late效果很好,謝謝您的回答!兩個select語句也可以工作,使用a LEFT JOIN將它們聯接也可以,并且我現在了解如何以select這種方式聯接多個s
查看完整描述

3 回答

?
長風秋雁

TA貢獻1757條經驗 獲得超7個贊

SELECT t1.ks, t1.[# Tasks], COALESCE(t2.[# Late], 0) AS [# Late]

FROM 

    (SELECT ks, COUNT(*) AS '# Tasks' FROM Table GROUP BY ks) t1

LEFT JOIN

    (SELECT ks, COUNT(*) AS '# Late' FROM Table WHERE Age > Palt GROUP BY ks) t2

ON (t1.ks = t2.ks);


查看完整回答
反對 回復 2019-12-10
?
湖上湖

TA貢獻2003條經驗 獲得超2個贊

嘗試這樣的事情:


SELECT 

FROM

(SELECT ks, COUNT(*) AS '# Tasks' FROM Table GROUP BY ks) t1 

INNER JOIN

(SELECT ks, COUNT(*) AS '# Late' FROM Table WHERE Age > Palt GROUP BY ks) t2

ON t1.ks = t2.ks


查看完整回答
反對 回復 2019-12-10
?
紫衣仙女

TA貢獻1839條經驗 獲得超15個贊

用途UNION:


SELECT ks, COUNT(*) AS '# Tasks' FROM Table GROUP BY ks

UNION

SELECT ks, COUNT(*) AS '# Late' FROM Table WHERE Age > Palt GROUP BY ks

或者,UNION ALL如果您想重復:


SELECT ks, COUNT(*) AS '# Tasks' FROM Table GROUP BY ks

UNION ALL

SELECT ks, COUNT(*) AS '# Late' FROM Table WHERE Age > Palt GROUP BY ks


查看完整回答
反對 回復 2019-12-10
  • 3 回答
  • 0 關注
  • 647 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號