获取从表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

回到顶部