2

誰かが私を助けてくれるかどうか疑問に思っていました私は2つのテーブルを持っています1)プロファイル2)mailbox_conversation各テーブルにはprofile_idと呼ばれる共通の列があります

メンバーシップID=107のプロファイルテーブル内のすべてのメンバーを検索したいと思います(つまり、メンバーシップタイプが107のメンバーのサブセットを取得し、profile_idによって配列にリストされます)次に、そのメンバーのサブセットを使用して、すべてを検索しますサブセットにprofile_idがあるテーブルmailbox_conversationの会話-したがって、多くの電子メールが同じprofile_idを持っている可能性があり、それらをすべて削除したい

4

2 に答える 2

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フィドル。

于 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 に答える