2つのSQL SELECTステートメントの結果を1つのステートメントに結合することはできますか?タスクのデータベースがあり、各レコードは個別のタスクであり、期限が設定されています(および、開始から期限までの日数 PALTであるa も日数です)。INTAgeINT
テーブルに各人がいるテーブル、彼らが持っているタスクの数、LATE彼らが持っているタスクの数(ある場合)が欲しいです。
次のように、このデータを個別のテーブルで簡単に取得できます。
SELECT ks, COUNT(*) AS '# Tasks' FROM Table GROUP BY ks
次のようなデータを返します:
ks # Tasks
person1 7
person2 3
そして私は持っています:
SELECT ks, COUNT(*) AS '# Late' FROM Table WHERE Age > Palt GROUP BY ks
これは次を返します:
ks # Late
person1 1
person2 1
そして、私はこれらの2つのselectステートメントの結果を結合したいです(KS)
一時テーブルを使用しないようにしていますが、それが唯一の実用的な方法である場合は、この方法で一時テーブルを使用する方法について詳しく知りたいと思います。
またcount()、条件を満足するような行を作成しようとしましたが、その方法もわかりませんでした。可能であれば、それも機能します。
補遺:申し訳ありませんが、私は私の結果はの列を持つようにしたいKS、Tasksと、Late
KS # Tasks # Late
person1 7 1
person2 3 1
person3 2 0 (or null)
また、遅い仕事がなくても出てもらいたいです。
SUM(CASE WHEN Age > Palt THEN 1 ELSE 0 END) Late
この回答に感謝します!
2つのselectステートメントも機能し、a LEFT JOINを使用してそれらを結合することもできます。selectこの方法で複数のを結合する方法を理解しました