我想知道是否有人可以帮助我 我有两个表 1)个人资料 2)邮箱对话 每个表都有一个名为 profile_id 的公共列
我想在个人资料表中找到所有成员 ID = 107 的成员(即获取成员类型为 107 的成员子集,他们将按 profile_id 列在数组中)然后使用该成员子集,找到所有表mailbox_conversation 中的对话在子集中具有profile_id - 因此许多电子邮件可能具有相同的profile_id,我希望将它们全部删除
查找与 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用于玩耍。
尝试这个
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 )