ホームページ >データベース >mysql チュートリアル >KnownHours テーブルと UnknownHours テーブルを結合して統一時間レポートを作成するにはどうすればよいですか?

KnownHours テーブルと UnknownHours テーブルを結合して統一時間レポートを作成するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-29 08:32:14322ブラウズ

How Can We Combine KnownHours and UnknownHours Tables for a Unified Hours Report?

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

はじめに:
複数のテーブルを扱う場合、次のことが必要になります。包括的で意味のある出力を提供するためにそれらをマージします。テーブルの結合には、結合、結合、集計などの手法が含まれます。

問題ステートメント:
当面のタスクは、2 つのテーブル KnownHours と UnknownHours を 1 つの出力に結合することです。時間をChargeNumとCategoryIDでグループ化し、月を無視します。

テーブル詳細:

Table Column Description
KnownHours ChargeNum Unique charge number
KnownHours CategoryID Category associated with the charge
KnownHours Month Month when the charge was incurred
KnownHours Hours Known hours for the charge
UnknownHours ChargeNum Unique charge number
UnknownHours Month Month when the charge was incurred
UnknownHours Hours Unknown hours for the charge

必要な出力:
予期される出力は、次の構造を持つ単一のテーブルです:

Table Column Description
Consolidated ChargeNum Unique charge number
Consolidated CategoryID Category associated with the charge or 'Unknown'
Consolidated Hours Total hours for the charge

解決策:
目的の出力を実現するには、SQL で UNION 演算を利用します。 UNION は、複数のクエリの結果を 1 つのテーブルに結合します。この場合、KnownHours テーブル用と UnknownHours テーブル用の 2 つのクエリを実行します。クエリは、各 ChargeNum と CategoryID (UnknownHours の場合は「Unknown」) の時間を集計します。

KnownHours テーブルの最初のクエリ:

UnknownHours テーブルの 2 番目のクエリ:

最後に、これら 2 つのクエリの結果を結合します。 using UNION ALL:

この UNION ALL 操作は、2 つのクエリの結果を 1 つのテーブルに連結し、目的の出力を提供します。

以上がKnownHours テーブルと UnknownHours テーブルを結合して統一時間レポートを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。