繁体   English   中英

mysql中的左外连接问题

[英]left outer join issue in mysql

我尝试获取parts_questions中未包括的parts_keywords中的所有行。 不幸的是,我得到了两个表的所有行。

SELECT *FROM parts_keywords 
    LEFT OUTER JOIN parts_questions ON parts_keywords.ID = parts_questions.question_id
     WHERE parts_questions.question_id IS NULL
     AND parts_keywords.term  LIKE '%where%' || parts_keywords.term LIKE '%how%' || parts_keywords.term LIKE '%who%' || parts_keywords.term LIKE '%what%' 
    ORDER BY parts_keywords.ID DESC lIMIT 15

我尝试使用OR代替||。 我也尝试过使用MATCH而不是LIKE,但没有成功。

当我仅使用一个LIKE元素(例如“谁”)时,我会得到正确的结果。 但是,对我来说,获得所有LIKE元素的结果很重要。

请帮忙

您在OR子句中缺少()

SELECT *
FROM parts_keywords 
  LEFT OUTER JOIN parts_questions ON parts_keywords.ID = parts_questions.question_id
WHERE parts_questions.question_id IS NULL
AND (parts_keywords.term  LIKE '%where%' 
 OR parts_keywords.term LIKE '%how%'
 OR parts_keywords.term LIKE '%who%'
 OR parts_keywords.term LIKE '%what%')
ORDER BY parts_keywords.ID DESC lIMIT 15

尝试使用括号

SELECT * FROM parts_keywords pk
LEFT OUTER JOIN parts_questions pq ON pk.ID = pq.question_id
WHERE pq.question_id IS NULL
AND ( pk.term LIKE '%where%' OR pk.term LIKE '%how%' OR pk.term LIKE '%who%' OR pk.term     LIKE '%what%' )
ORDER BY parts_keywords.ID DESC lIMIT 15

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM