2011-08-11 15 views
0

に参加し、私はテーブルが列を持つmedia_filesと呼ばれるがあります。MySQLの複数の挿入や

id 
listing_id 
file_id 

私は別のが列を持つテーブルを占めあります

id 
group_id 

マイmedia_filesテーブルには、現在1件の物件がありますgroup_idごとに(関連するアカウントテーブルから取得)。アカウントテーブルには、すべての勘定科目がgroup_idにグループ化されています。

私は、accountsテーブルの各行のmedia_filesテーブルにリスティングを作成します。 listing_idはaccountsテーブルから取得する必要があり、file_idはgroup_idと一致するすべての行で同じでなければなりません。

私は一時テーブルや結合を使用する必要があることを知っていますが、これを達成する方法がわかりません。

ご協力いただきありがとうございます。読んでくれてありがとう。

+0

http://dev.mysql.com/doc/refman/5.0/en/insert-select.htmlが必要です。 – Stephen

答えて

0

1つの挿入、2つの選択、2つの結合が後になりました。

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 
関連する問題