微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 在MySQL中使用OR和AND

我有一个查询如下:(显示的是一个带有电视节目和IMDB ID的表,recommended_titles是一个带有两列IMDB_ID的表)

Select t2.* from shows t, shows t2, recommended_titles WHERE 
t.imdb_id = recommended_titles. title_id_1 
AND recommended_titles.title_id_2=t2.imdb_id 
AND t.imdb_id = 0367279 LIMIT 7

查询很好但我意识到它只是在第一列中检查我的imdb id,它也可以出现在我的第二列中.
所以我尝试添加以下内容

OR
recommended_titles.title_id_2=t.imdb_id 
AND t.imdb_id = recommended_titles. title_id_1 
AND t.imdb_id = 0367279 LIMIT 7

但显然OR不能与AND一起使用,

我应该怎么做的任何建议?

编辑:
为了解释我正在尝试做什么,这里有一个简单的例子,以防我上面的解释太混乱了.
显示有这样的行:

name of a tv show | 00001
name of another   | 00002
name of another   | 00003

表推荐标题有(注意ID可以在任一列中)

00001 |  00002
00002 |  00003

解决方法:

您可以在MysqL中查看operator precedence(并看到AND的优先级高于OR),或者使用括号(更容易使用和维护)

(t.imdb_id = recommended_titles.title_id_1 OR
recommended_titles.title_id_2=t.imdb_id)

AND recommended_titles.title_id_2=t2.imdb_id 
AND t.imdb_id = 0367279 LIMIT 7

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐