Вставить запрос с внутренним соединением
Я хочу сделать свой запрос на вставку, который имеет внутреннее соединение с таблицей данных пользователя.
Пример таблиц выглядит следующим образом:
users:
uid | name
users_data:
id | data_id | uid | other fields
data_stocks
id | data_id | quantity
Так что я пытаюсь вставить в data_stocks
, относящийся только к знанию uid
из users
.
Своего рода:
INSERT INTO data_stocks (data_id,quantity)
VALUES (' need to join it some how ','$quantity');
Возможно ли это в 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;