2016-08-08 6 views
0

データが3つの異なるテーブルから得られるテーブルに結果を残したいと思います。そのためにサブクエリ内に複数行のテーブルに挿入

私はこのクエリを実行しようとしました:

INSERT INTO sometable (id,date) 
VALUES 
    (
    (SELECT id FROM table1 
    UNION 
    SELECT id FROM table2 
    UNION 
    SELECT id FROM table3) 
    , 
    (SELECT date FROM table1 
    UNION 
    SELECT date FROM table2 
    UNION 
    SELECT date FROM table3) 
) 

このクエリの結果はcannot insert multiple rowsを示すエラーです。このクエリを正しく記述するのを手伝ってください。

答えて

0

INSERT ... SELECTの構文はINSERT ... VALUESの構文とは異なります。また、同時に各表から両方の列を選択する場合は、

INSERT INTO sometable (id, date) 
SELECT id, date FROM table1 UNION 
SELECT id, date FROM table2 UNION 
SELECT id, date FROM table3 
関連する問題