我想知道是否有人可以帮助我 我有两个表1)配置文件2)mailbox_conversation 每个表都有一个名为profile_id
的公共列我想找到配置文件表中拥有membership_id = 107的所有成员(即获取成员类型为107的成员的子集,它们将通过profile_id列在数组中) 然后使用该成员子集,找到表mailbox_conversation中在子集中具有profile_id的所有会话 - 因此许多电子邮件可能具有相同的profile_id,并且我希望它们全部被删除
答案 0 :(得分:2)
查找与membership_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可以玩。
答案 1 :(得分: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 )