ホームページ >データベース >mysql チュートリアル >SQL の UNION 操作はどのようにして複数のテーブルの時間を統合できるのでしょうか?
統合された出力のためのテーブルの結合
データ操作の領域では、複数のテーブルを 1 つのまとまった出力に結合することが一般的な課題です。 KnownHours と UnknownHours という 2 つのテーブルがあり、それぞれに請求番号、カテゴリ、月、および作業時間が含まれているシナリオを考えてみましょう。目標は、月を無視して時間を集計して、統合ビューを取得することです。
これを達成するには、SQL の UNION 操作の機能を活用できます。これにより、複数のクエリの結果を 1 つのデータセットに結合できます。この特定のケースでは、SUM() 集計関数を使用して、料金番号とカテゴリ別に時間をグループ化する必要があります。
これを実現する SQL クエリは次のとおりです。
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;
ここで、UNION ALL キーワードは 2 つの別々のクエリの結果を結合します。最初のクエリは KnownHours テーブルから時間を取得し、料金番号とカテゴリごとにグループ化します。 2 番目のクエリは、UnknownHours テーブルから時間を取得し、「Unknown」カテゴリに属するものとして扱います。
UNION ALL を使用すると、重複チェックの手順が省略され、UNION のみを使用する場合と比較してパフォーマンスが向上します。
このクエリの結果は、発生した月に関係なく、各請求番号とカテゴリの合計作業時間を示す統合テーブルです。
以上がSQL の UNION 操作はどのようにして複数のテーブルの時間を統合できるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。