【问题标题】:Insert into table with multiple rows in subquery在子查询中插入具有多行的表
【发布时间】:2016-08-08 07:38:49
【问题描述】:

我希望在数据来自 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。请帮助我正确编写此查询。

【问题讨论】:

    标签: mysql database select insert


    【解决方案1】:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-26
      • 2019-09-09
      • 1970-01-01
      • 1970-01-01
      • 2012-03-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多