MySQL Multiple Insert и Join - PullRequest
       1

MySQL Multiple Insert и Join

0 голосов
/ 11 августа 2011

У меня есть таблица с именем media_files со столбцами:

id
listing_id
file_id

У меня есть еще одна учетная запись таблица со столбцами:

id
group_id

Моя таблица media_files в настоящее время содержит 1 листинг для group_id (взятый из связанной таблицы accounts ).В таблице учетных записей все учетные записи сгруппированы в group_id.

Я хочу создать список в таблице media_files для каждой строки в таблице учетных записей.Идентификатор перечисления должен быть взят из таблицы счетов, и идентификатор файла должен быть одинаковым для всех строк с совпадающим идентификатором группы.

Я знаю, что должен использовать временную таблицу и / или объединение, но я не уверенкак это сделать.

Любая помощь очень ценится.Спасибо за чтение.

1 Ответ

0 голосов
/ 11 августа 2011

Одна вставка, два выбора и два соединения позже, и я получил это.

INSERT INTO media_files (app_id, listing_id, fid) 
    SELECT mymaster.app_id, mymaster.rlisting_id, mymaster.fid
    from (
     SELECT ch.id AS rlisting_id, cb.* from accounts ch INNER JOIN (
       SELECT ca.group_id, mf.* FROM accounts ca INNER JOIN media_files mf ON mf.listing_id = ca.id WHERE mf.app_id=1085
        ) cb ON ch.group_id = cb.group_id
    ) mymaster
...