我有两个表,它们存储基于表单提交和api端点返回的数据。我正在尝试编写一个查询,以便将表a中的所有数据都删除,同时删除存储在表b中的测试提交。以下是删除了不相关行的表结构表结构:
表a
submission_id
email
campaign_id
rep_name
表b
email
campaign_id
is_test
表b为每个电子邮件地址包含一行关于提交的数据。
表a应该包含每个电子邮件地址和活动id的1-4行,在rep\u name列中有不同的数据,但是表a中有重复的行,我希望通过查询删除这些行。前任。
Table A Data
submission_id email campaign_id rep_name
1 test@test.com campaign_1 john smith
2 test@test.com campaign_1 mary joe
3 test@test.com campaign_1 kevin guy
4 test@test.com campaign_1 john smith
5 test@test.com campaign_1 mary joe
6 test@test.com campaign_1 kevin guy
7 real@real.com campaign_1 john smith
8 real@real.com campaign_1 mary joe
9 real@real.com campaign_1 kevin guy
10 real@real.com campaign_1 john smith
11 real@real.com campaign_1 mary joe
12 real@real.com campaign_1 kevin guy
Table B Data
email campaign_id is_test
test@test.com campaign_1 Y
real@real.com campaign_1 N
real@real.com campaign_2 Y
real@real.com campaign_2 N
test@test.com campaign_2 Y
期望的结果
real@real.com campaign_1 john smith
real@real.com campaign_1 mary joe
real@real.com campaign_1 kevin guy
下面是我当前尝试的查询,它不会导致重复项被删除。 SELECT a.* FROM table_a a LEFT OUTER JOIN (SELECT email FROM table_b WHERE is_test='N' AND campaign_id='some_campaign_id') as b ON a.email=b.email WHERE a.campaign_id='some_campaign_id';
1条答案
按热度按时间6ojccjat1#
这回答了问题的原始版本。
像这样:
您可以在中为活动添加筛选器
where
条款。