2011-08-11 3 views
0

나는 테이블은 media_files 열를 불렀다 group_id 당 (연관된 계정 테이블에서 가져옴). 계정 테이블에는 group_id로 그룹화 된 모든 계정이 있습니다.MySQL을 다중 삽입 및 가입은

계정 테이블의 각 행에 대해 media_files 테이블에 목록을 만들고 싶습니다. listing_id는 accounts 테이블에서 가져와야하며 file_id는 group_id와 일치하는 모든 행에 대해 동일해야합니다.

임시 테이블 및/또는 조인을 사용해야한다는 것을 알고 있지만이를 수행하는 방법을 잘 모르겠습니다.

모든 도움을 주시면 대단히 감사하겠습니다. 읽어 주셔서 감사합니다.

+0

http://dev.mysql.com/doc/refman/5.0/en/insert-select.html이 필요합니다. – Stephen

답변

0

하나의 삽입, 두 개의 선택 및 두 개의 결합이 나중에 있습니다.

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