ホームページ > データベース > mysql チュートリアル > 3 つの MySQL テーブルのデータを新しいテーブルに結合するにはどうすればよいですか?

3 つの MySQL テーブルのデータを新しいテーブルに結合するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-23 02:03:17
オリジナル
932 人が閲覧しました

How to Combine Data from Three MySQL Tables into a New Table?

mySQL: 3 つのテーブルのデータと列から新しいテーブルを作成する

質問:

フィールド last_name、フィールドを含む 3 つの既存のテーブルから選択したデータを結合する新しいテーブルを作成するにはどうすればよいですか?人物、詳細、および分類テーブルから名、電子メール、年齢を取得しますか?

回答:

これを実現するには、3 方向の JOIN を利用できます。

で新しいテーブルを作成する結合:

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';
ログイン後にコピー

このクエリは、last_name、first_name、email、および age 列を含む new_table という名前の新しいテーブルを作成します。詳細テーブルでは、コンテンツ フィールドは年齢情報の保存に使用されます。

既存のテーブルへのデータの挿入:

すでに 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';
ログイン後にコピー

Join for Multiple属性:

他のテーブルから複数の属性 (年齢、性別、身長など) を取得するには、追加の結合を実行する必要があります:

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 AND d1.taxonomy_id = (SELECT id FROM taxonomy WHERE taxonomy = 'age')
JOIN details AS d2 ON d2.person_id = p.id AND d2.taxonomy_id = (SELECT id FROM taxonomy WHERE taxonomy = 'gender')
JOIN details AS d3 ON d3.person_id = p.id AND d3.taxonomy_id = (SELECT id FROM taxonomy WHERE taxonomy = 'height');
ログイン後にコピー

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

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