我有以下查询:
$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/