我有一个表,订阅者有两个字段:国家/地区和语言。 另一个表只有两列,国家和语言。 我需要过滤订阅者,我将其排除在外,其国家和语言的组合与映射表中的匹配。
我有
SELECT * from Subscribers
LEFT JOIN Mapping on Mapping.Country != Subscribers.Country
AND Mapping.Language != Subscribers.Language
然而,它似乎根本没有过滤。 LEFT JOIN甚至是正确的方向吗?
答案 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”子句排除那些不需要的匹配。
希望这样的事情有所帮助!