所以我有tableA和tableB。 A是原始域数据,如http://www.cnn.com,其中B将其修剪得很整齐,如cnn.com。我需要拉出tableA中不在tableB中的网站。我想左边的连接有一些疯狂的%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
谢谢你!
答案 0 :(得分:2)
试试这个
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-删除AND
之前的group by
答案 1 :(得分:0)
假设%
大约是您要比较的值,而不是LIKE关键字本身。
应该是
SELECT column
FROM table
WHERE column LIKE '%pattern%';