2013-07-16 4 views
10

Я хочу сделать свой запрос на вставку, который имеет внутреннее соединение с таблицей данных пользователя.Вставить запрос с внутренним соединением

Пример таблиц, как это:

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?

ответ

18

Вы хотите использовать 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; 
Смежные вопросы