【问题标题】:Query for Insert into using values from other table使用其他表中的值查询插入
【发布时间】:2020-04-03 16:57:55
【问题描述】:

我有两个表 Table1 (字段 A1 | B1 | C1 )和表 2 字段 A2 | B2.

我需要在 Table1 中插入值 A1 = const、B1 = const 和 C1 - Table2 中 A2 的值,其中 B2 = const

表1

A1 | B1 | C1

表 2

A2 | B2
1  | 3
2  | 3
6  | 3
4  | 6
5  | 6

查询后,其中 A1 = 0, B1 = 1, B2 = 3 我们应该得到:

表1

A1 | B1 | C1
0  | 1  | 1
0  | 1  | 2
0  | 1  | 6

我想它会是这样的:

INSERT INTO Table1 (‘A1’,’B1’,’C1’) VALUES (0, 1, SELECT A2 FROM Table2 WHERE B2=”3”)

【问题讨论】:

    标签: mysql sql select sql-insert


    【解决方案1】:

    你似乎在寻找标准的INSERT ... SELECT syntax

    INSERT INTO Table1 (A1, B1, C1) 
    SELECT 0, 1, A2 FROM Table2 WHERE B2 = 3
    

    您最初的尝试不起作用,因为 VALUES() 采用 标量 值的元组(每个元组代表一行),而查询返回 多行

    【讨论】:

      猜你喜欢
      • 2022-06-17
      • 2022-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多