【问题标题】:MySQL Multiple Insert and JoinMySQL 多重插入和连接
【发布时间】:2011-08-11 01:03:36
【问题描述】:

我有一个名为 media_files 的表,其中包含以下列:

id
listing_id
file_id

我有另一个 accounts 表,其中包含列:

id
group_id

我的 media_files 表目前每个 group_id 有 1 个列表(取自关联的 accounts 表)。 Accounts 表将所有帐户分组到 group_id。

我想在 media_files 表中为帐户表中的每一行创建一个列表。 listing_id 必须取自accounts 表,file_id 必须与所有匹配group_id 的行相同。

我知道我必须使用临时表和/或连接,但我不知道如何完成。

非常感谢任何帮助。感谢阅读。

【问题讨论】:

标签: mysql select join insert


【解决方案1】:

稍后一次插入,两次选择和两次连接,我明白了。

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

【讨论】:

    猜你喜欢
    • 2010-11-25
    • 1970-01-01
    • 2012-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-09
    • 2011-03-29
    • 1970-01-01
    相关资源
    最近更新 更多