过滤与另一个表

时间:2017-08-28 12:57:47

标签: mysql

我有一个表,订阅者有两个字段:国家/地区和语言。 另一个表只有两列,国家和语言。 我需要过滤订阅者,我将其排除在外,其国家和语言的组合与映射表中的匹配。

我有

SELECT * from Subscribers 
LEFT JOIN Mapping on Mapping.Country != Subscribers.Country 
AND Mapping.Language != Subscribers.Language

然而,它似乎根本没有过滤。 LEFT JOIN甚至是正确的方向吗?

2 个答案:

答案 0 :(得分:0)

使用内部联接: -

SELECT * from Subscribers 
inner join Mapping on Mapping.Country != Subscribers.Country 
AND Mapping.Language != Subscribers.Language

答案 1 :(得分:0)

我会尝试不同的方法,如下所示:

SELECT * from Subscribers 
LEFT JOIN Mapping on Mapping.Country = Subscribers.Country 
AND Mapping.Language = Subscribers.Language    
WHERE Mapping.Country IS NULL 

我正在做的是加入我们不想要的匹配表,并使用“Where”子句排除那些不需要的匹配。

希望这样的事情有所帮助!