複数の SQL クエリからのデータの統合
データベース管理では、多くの場合、さまざまなソースまたはテーブルからのデータを統合する必要があります。 一般的な方法は、SQL JOIN
操作を使用して、複数の SELECT
ステートメントの結果を結合することです。
この例では、2 つのクエリからのデータを結合する方法を示します。1 つは合計タスクをカウントし、もう 1 つは各個人の期限を過ぎたタスクをカウントします。目的は、各個人のタスク数と期限を過ぎたタスク数を示す表を作成することです。
最初のクエリは、各個人の合計タスク数を計算します。
<code class="language-sql">SELECT ks, COUNT(*) AS "Total Tasks" FROM Table GROUP BY ks</code>
これにより、ks
(個人識別子) と Total Tasks
を含むテーブルが生成されます。
2 番目のクエリは、各個人の期限を過ぎたタスクをカウントします。
<code class="language-sql">SELECT ks, COUNT(*) AS "Overdue Tasks" FROM Table WHERE Age > Palt GROUP BY ks</code>
これにより、ks
と Overdue Tasks
を含むテーブルが生成されます。
これらの結果をマージするには、LEFT JOIN
が使用されます。これにより、期限を過ぎたタスクがない場合でも、最初のクエリのすべての個人が確実に含まれるようになります。
結合されたクエリは次のとおりです:
<code class="language-sql">SELECT t1.ks, t1."Total Tasks", COALESCE(t2."Overdue Tasks", 0) AS "Overdue Tasks" FROM (SELECT ks, COUNT(*) AS "Total Tasks" FROM Table GROUP BY ks) t1 LEFT JOIN (SELECT ks, COUNT(*) AS "Overdue Tasks" FROM Table WHERE Age > Palt GROUP BY ks) t2 ON (t1.ks = t2.ks);</code>
COALESCE
は、個人に期限を過ぎたタスクがない場合を処理し、NULL
を 0 に置き換えます。
最後のテーブルには、各個人の ks
、Total Tasks
、Overdue Tasks
が表示されます。
以上がSQL 結合を使用して個人のタスク数と遅延タスク数を結合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。