2

我想知道是否有人可以帮助我 我有两个表 1)个人资料 2)邮箱对话 每个表都有一个名为 profile_id 的公共列

我想在个人资料表中找到所有成员 ID = 107 的成员(即获取成员类型为 107 的成员子集,他们将按 profile_id 列在数组中)然后使用该成员子集,找到所有表mailbox_conversation 中的对话在子集中具有profile_id - 因此许多电子邮件可能具有相同的profile_id,我希望将它们全部删除

4

2 回答 2

2

查找与 members_id = 107 的个人资料对应的电子邮件

select m.id
from mailbox_conversation m
join profile p on p.profile_id = m.profile_id
                  and p.membership_id = 107

删除那些记录

delete from mailbox_conversation
using mailbox_conversation, profile
where profile.profile_id = mailbox_conversation.profile_id
      and profile.membership_id = 107;

SQL Fiddle用于玩耍。

于 2012-11-18T17:36:16.313 回答
0

尝试这个

select t1.profile_id from mailbox_conversation t1 where t1.profile_id in 
(select t2.profile_id from profile t2 where t2.membership_id = 107 )
于 2012-11-18T17:32:21.357 回答