php - 从数据库查询中排除一些值

标签 php mysql

我有以下查询:

$query = $this->db->query("SELECT u.query, u.keyword, 
                                  u.language_id as lid, l.code, l.directory 
                           FROM " . DB_PREFIX . "url_alias u 
                           left join " . DB_PREFIX . "language l 
                                  on u.language_id = l.language_id 
                            WHERE u.keyword = '" . $this->db-    >escape($part) . "'");

现在我想从查询中排除一些关键字,例如“博客”。

这可能吗?如何实现?

最佳答案

我怀疑您有多个关键字分配给一个“查询”,并且您想要满足条件的“查询”。如果这是正确的,那么你想要这样的东西:

SELECT u.query, GROUP_CONCAT(u.keyword) as keywords,
       u.language_id as lid, l.code, l.directory 
FROM url_alias u left join
     language l 
     on u.language_id = l.language_id 
WHERE u.keyword in
GROUP BY u.query, l.language_id
HAVING SUM(u.keyword = $part) > 0 AND
       SUM(u.keyword IN (<exclude words list>)) = 0;

这会返回具有特定关键字但没有其他关键字的查询。

关于php - 从数据库查询中排除一些值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34383841/

相关文章:

javascript - Node.js Web 应用程序中 MySQL 查询的延迟加载

php - Vim: undefined variable 未标记

php - 我想搜索没有包含撇号字符串的行

php - 记录未显示为已保存

mysql - 为什么 MySQL FROM_UNIXTIME() 在不同的 mysql 服务器版本中返回不同的结果?

javascript - AJAX 调用和更新查询无法正常运行

mysql - 按天分组计算总和

php - 游戏项目使用ajax更新数据库

php - 使用最新的 PHP 语法是否有任何性能提升?

phpStorm - 配置 xDebug