2

データが入力された 2 つの既存のテーブルがあります

テーブル A --tableA_id --contentA

テーブル B --tableB_id --contentB

今、多対多の関係テーブルを作成したい

テーブル A_B --tableA_id --tableB_id

問題は、テーブル A とテーブル B の既存のデータを使用してテーブル A_B にデータを入力するための SQL スクリプト (私は SQL を初めて使用します) を作成する方法です。

マーク

4

1 に答える 1

5

テーブル A_B にデータを入力する場合は、次のようにする必要があります。

INSERT INTO A_B (tableA_id, tableB_id)
SELECT A.ID, B.ID FROM A CROSS JOIN B

CROSS JOIN は、テーブル A の各行をテーブル B の各行に関連付けます。

テーブル A のいくつかの行をテーブル B のいくつかの行と関連付けたい場合は、より具体的にする必要があり、次のようにする必要があります。

INSERT INTO A_B (tableA_id, tableB_id)
SELECT A.ID, B.ID FROM A INNER JOIN B
ON A.some_field = B.some_other_field
于 2012-12-05T00:04:16.973 に答える