获取从表1中的记录,并从另一个表连接它时,表2的值不存在
1表 - explore_offers:获取从表1中的记录,并从另一个表连接它时,表2的值不存在
- id - Primary Key - offer_unique
第2表 - participated_explore_offers:
- id - email - user_email
- Primary Key - offer_unique
我想要什么: *显示第一张表的记录,并排除第二张表中发现的特定电子邮件的记录
ex:
SELECT eo.* , peo.user_email
FROM explore_offers eo
LEFT
JOIN participated_explore_offers peo
ON eo.offer_unique = peo.offer_unique
WHERE peo.user_email = '[email protected]'
我已经试过了例子,我得到0的记录。 我有2个记录的第一个表,一个在第二个表,我想结果是:
*。从第一个表中获取一条记录,其中该记录不存在于第二个表中。
1表内容:
Nr id Primary Key 1 0 m1
2 1 m2
第二表内容
Nr id user_email Primary Key 1 0 [email protected] m1
1 0 [email protected] m2
预计
Nr id Primary Key 1 1 m2
我有什么:
0条记录
回答:
SQL DEMO
试试这个:
select * from explore_offers where offer_unique not in
(select offer_unique from participated_explore_offers where user_email='[email protected]')
回答:
移动电子邮件filteration到JOIN
条件,使其与LEFT JOIN
工作:
SELECT eo.*,peo.user_email FROM explore_offers eo
LEFT JOIN participated_explore_offers peo ON (eo.offer_unique = peo.offer_unique)
AND peo.user_email = '[email protected]'
WHERE peo.user_email is null;
demo:
| Nr | id | offer_unique | user_email | |----|----|--------------|------------|
| 2 | 1 | m2 | (null) |
以上是 获取从表1中的记录,并从另一个表连接它时,表2的值不存在 的全部内容, 来源链接: utcz.com/qa/265775.html