複数の MySQL テーブルのデータを新しいテーブルにマージするにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-23 13:11:14
オリジナル
921 人が閲覧しました

How to Merge Data from Multiple MySQL Tables into a New Table?

MySQL を使用して複数のテーブルのデータを新しいテーブルにマージする

問題:

作成新しい MySQL テーブルは、人物、分類、詳細という 3 つの既存のテーブルの特定のデータと列を組み合わせたものです。目標は、姓、名、電子メール、年齢などの選択した属性を含むテーブルを作成することです。

必要なテーブル構造:

ID Last Name First Name Email Age
1 Smith Fred Fred@.. 36
2 Jones Tom Tom@.. 29
3 Doe Jane Jane@.. 27

解決策:

これを達成するには、3 つの要素に対して 3 方向の JOIN を実行します。 tables:

CREATE TABLE new_table AS
SELECT p.*, d.content AS age
FROM people AS p
JOIN details AS d ON d.person_id = p.id
JOIN taxonomy AS t ON t.id = d.detail_id
WHERE t.taxonomy = 'age';
ログイン後にコピー

このクエリは、一致する ID に基づいて人物、詳細、分類テーブルのデータを結合します。結合されたテーブルから目的の列 (id、last_name、first_name、email、および age) を選択します。

代替方法:

すでに new_table を作成している場合テーブルにデータを挿入するには、次のクエリを使用します。

INSERT INTO new_table (id, last_name, first_name, email, age)
SELECT p.id, p.last_name, p.first_name, p.email, d.content AS age
FROM people AS p
JOIN details AS d ON d.person_id = p.id
JOIN taxonomy AS t ON t.id = d.detail_id
WHERE t.taxonomy = 'age';
ログイン後にコピー

Multiple属性:

3 つのテーブルの複数の属性を含めるには、属性ごとに個別の JOIN を実行できます。

CREATE TABLE new_table AS
SELECT p.*, d1.content AS age, d2.content AS gender, d3.content AS height
FROM people AS p
JOIN details AS d1 ON d1.person_id = p.id
JOIN taxonomy AS t1 ON t1.id = d1.detail_id
JOIN details AS d2 ON d2.person_id = p.id
JOIN taxonomy AS t2 ON t2.id = d2.detail_id
JOIN details AS d3 ON d3.person_id = p.id
JOIN taxonomy AS t3 ON t3.id = d3.detail_id
WHERE t1.taxonomy = 'age' AND t2.taxonomy = 'gender' AND t3.taxonomy = 'height';
ログイン後にコピー

複数の JOIN を使用することで、次のデータと列をマージできます。さまざまなテーブルを包括的な新しいテーブルに変換します。

以上が複数の MySQL テーブルのデータを新しいテーブルにマージするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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