ホームページ > データベース > mysql チュートリアル > SQL を使用して、異なる構造を持つ複数のテーブルを単一の統合出力テーブルに結合するにはどうすればよいですか?

SQL を使用して、異なる構造を持つ複数のテーブルを単一の統合出力テーブルに結合するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-22 02:00:12
オリジナル
422 人が閲覧しました

How Can I Combine Multiple Tables with Different Structures into a Single Unified Output Table Using SQL?

統合出力のためのテーブルの結合

テーブルを結合して、さまざまなデータ操作結果を実現できます。一般的なタスクの 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート