在子查询中插入包含多行的表

时间:2016-08-08 07:38:50

标签: mysql database select insert

我希望在一个表中有结果,其中数据来自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的错误。请帮我正确编写此查询。

1 个答案:

答案 0 :(得分: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