2017-05-19 7 views
1

私はテーブルに挿入を行っていますが、それを行う前に、別のテーブルに関連付けられている外部キーIDを取得することができます。その外部キーIDは単純にルックアップではなく、そのIDを取得するためには2つの他のテーブルのINNER JOINが必要です。INSERTの前にINNER JOINとはどういう意味ですか?

  1. インナーは、Bに参加し、私は必要なIDをつかん:

    だから、私が現在やっていることは次のようです。

  2. 私は上から値を解決したら、私は で、テーブルCに私が行うためのより良い方法がある場合は今、私が思っていたステップ1

から得た外部キーを挿入この。テーブルAとテーブルBを結合してテーブルCに挿入することはできますか?これは、テーブルのINNER JOINとINSERTの意味を混乱させていたところです。潜在的に複数のテーブルに挿入していますか?

+3

互換性のないデータベースタグを削除しました。実際に使用しているデータベースにのみタグを付けてください。また、質問を編集し、サンプルデータと希望の結果を提供する必要があります。 –

答えて

1

insert-select構文を使用して、クエリの結果(結合を含む場合もあります)を別のテーブルに挿入できます。例:

INSERT INTO C 
SELECT col_from_a, col_from_b 
FROM a 
JOIN b ON a.id = b.id 
+0

あなたはそれらを一緒に結合したので、挿入物は表Cに入っているのでしょうか、それともBとCの両方に入っていますか? – Detuned

+0

@Detuned 'join'は' select'を指します。あなたは 'a'の結果を' b'に結合し、その結果を 'c'に挿入します。 – Mureinik

関連する問題