所以我有 tableA 和 tableB。 A 是原始域数据,例如 http://www.cnn.com , B 把它整理得很整齐,就像 cnn.com。我需要拉出不在 tableB 中但在 tableA 中的网站。我想象一个带有一些疯狂的 %LIKE% 运算符的左连接被放置在那里。
这是我目前所拥有的,但它不起作用。
SELECT tableA.domain, sum(tableA.views) views FROM `tableA` LEFT JOIN tableB ON tableA.domain %LIKE% tableB.name WHERE tableB.name IS NULL AND GROUP BY tableA.domain ORDER BY views DESC
谢谢!
最佳答案
试试这个
SELECT tableA.domain, sum(tableA.views) views FROM `tableA`
LEFT JOIN tableB ON tableA.domain LIKE CONCAT('%', tableB.name ,'%')
WHERE tableB.name IS NULL
GROUP BY tableA.domain
ORDER BY views DESC
你的尝试有两个错误。
1- LIKE CONCAT('%', tableB.name ,'%')
//你必须使用 CONCAT
2- 删除 group by
之前的 AND
关于mysql - 如何根据另一个表中的 %LIKE% 值过滤一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24535953/