【问题标题】:Insert query with an inner join插入带有内部联接的查询
【发布时间】:2017-01-06 17:30:47
【问题描述】:

我想进行插入查询,它与用户的数据表有一个内部连接。

表格的例子是这样的:

users:

uid | name 

users_data:

id | data_id | uid | other fields

data_stocks

id | data_id | quantity

所以我试图插入 data_stocks 与只知道来自 usersuid 有关。

有点像这样:

INSERT INTO data_stocks (data_id,quantity)
VALUES (' need to join it some how ','$quantity');

这在 mySQL 中可行吗?

【问题讨论】:

    标签: mysql


    【解决方案1】:

    您想使用insert ... select 形式的声明:

    INSERT INTO data_stocks (data_id,quantity)
        select ud.data_id, $quantity
        from users u join
             users_data ud
             on u.uid = ud.uid;
    

    如果您只为一个用户执行此操作,它可能看起来更像这样:

    INSERT INTO data_stocks (data_id,quantity)
        select ud.data_id, $quantity
        from users_data ud
        where ud.uid = $uid;
    

    【讨论】:

      猜你喜欢
      • 2018-09-14
      • 1970-01-01
      • 2013-10-20
      • 1970-01-01
      • 1970-01-01
      • 2011-04-21
      • 1970-01-01
      • 1970-01-01
      • 2016-06-11
      相关资源
      最近更新 更多