統合出力のためのテーブルの結合
テーブルを結合して、さまざまなデータ操作結果を実現できます。一般的なタスクの 1 つは、さらに分析するために、複数のテーブルのデータを 1 つのテーブルに統合することです。次のシナリオを考えてみましょう。
請求番号に関連付けられた時間データを含む 2 つのテーブル KnownHours と UnknownHours があります。目的は、月に関係なく、これらの時間を次の形式で単一のテーブルにグループ化することです:
ChargeNum CategoryID Hours 111111 1 90 111111 2 50 111111 Unknown 110.5 222222 1 40 222222 Unknown 25.5
このシナリオでは、ChargeNum と categoryID (またはUnknownHours の場合は「Unknown」)。これを実現するには、UNION 演算子を利用できます。
SELECT ChargeNum, CategoryID, SUM(Hours) FROM KnownHours GROUP BY ChargeNum, CategoryID UNION ALL SELECT ChargeNum, 'Unknown' AS CategoryID, SUM(Hours) FROM UnknownHours GROUP BY ChargeNum
この SQL ステートメントは、2 つのクエリの結果を結合します。最初のクエリは、KnownHours テーブルの時間を ChargeNum と CategoryID ごとにグループ化し、合計します。 2 番目のクエリは、UnknownHours テーブルの時間を ChargeNum でグループ化して合計し、CategoryID 'Unknown' を割り当てます。
UNION ALL を使用して結果を結合することにより、最終的なテーブルには両方のクエリの行が含まれます。 SUM() 集計関数を使用すると、ChargeNums と CategoryID に一致する時間数が確実に累積されます。
この手法を使用すると、テーブルを効率的に結合して、データの統合ビューを作成できます。
以上がSQL を使用して、異なる構造を持つ複数のテーブルを単一の統合出力テーブルに結合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。