0

主キーを同時に検索し、それを挿入ステートメントの外部キーとして使用する場合は、以下のクエリを使用できます (こちらの質問で見つかりました)

INSERT INTO test (id, value) 
SELECT foobar.id, 20
FROM foobar WHERE name = 'joe';

しかし、複数の外部キーを挿入したい場合はどうすればよいでしょうか? 声明はどのように見えますか?

INSERT INTO test (id1, id2, id3, value) 
SELECT foobar1.id, foobar2.id, foobar3.id, 20
FROM foobar1 WHERE name = 'joe'
FROM foobar2 WHERE name = 'joe'
FROM foobar3 WHERE name = 'joe';

ありがとう

4

2 に答える 2

2

これは機能しますか?:

INSERT INTO test ( id1, id2, id3, value ) 
SELECT 
foobar1.id, foobar2.id, foobar3.id, 20
FROM 
foobar1, foobar2, foobar3
WHERE 
foobar1.name = 'joe'
AND 
foobar2.name = 'joe'
AND 
foobar2.name = 'joe';
于 2012-05-25T19:38:43.493 に答える
1

これがあなたが望むものだと思います:

INSERT INTO test (id1, id2, id3, value) 
SELECT foobar1.id, foobar2.id, foobar3.id, 20
FROM foobar1,foobar2, foobar3
WHERE foobar1.name = 'joe'
AND foobar2.name = 'joe'
AND foobar3.name = 'joe';
于 2012-05-25T19:37:58.267 に答える