mysql - 如何根据另一个表中的 %LIKE% 值过滤一个表

标签 mysql sql sql-server database phpmyadmin

所以我有 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/

相关文章:

sql-server - 如何从数据库中删除除少数表之外的所有表中的数据

mysql - 错误 1215 (HY000) 在第 13 行 : Cannot add foreign key constraint

python - 迁移到 mysql-django-uwsgi-nginx 期间出现内部服务器错误

mysql - 运行简单 mysql 查询时出错

php - 合并表中的行

sql-server - 在存储过程中批处理多个合并是个好主意吗

c# - Visual Studio 社区版中的连接字符串

php - 使用 PHP 和 MySQL 生成不带斜杠的 JSON

sql - 使用多个成本表计算用户的余额

java - 如何判断hibernate返回sql错误