SELECT `views`.* FROM `views`
    INNER JOIN memberships ON memberships.second_id = views.user_id
    WHERE (memberships.user_id = 1 OR views.user_id = 1)

我有一个MySQL查询-我的问题是,WHERE子句的第二部分不工作,只获取行,它等于memberships.user_id = 1,但已经不OR views.user_id = 1
为什么不?发生了什么?

最佳答案

这是因为您正在加入memberships.second_id可能应该是memberships.user_id=views.user_id,因为如果条件memberships.user_id=1为真,那么views.user_id等于memberships.second_id和second_id可能不等于1

关于mysql - MySQL-使用INNER JOIN + WHERE子句查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9163004/

10-16 13:22