MySQL-具有内部联接的查询+;WHERE子句

MySQL-具有内部联接的查询+;WHERE子句,mysql,database,inner-join,where-clause,where,Mysql,Database,Inner Join,Where Clause,Where,我有一个MySQL查询-我的问题是,WHERE子句的第二部分不起作用,只获取行,它等于memberships.user\u id=1,但已经不是或views.user\u id=1 为什么不呢?怎么了?那是因为你是以会员身份加入的。第二个\u id可能应该是会员身份。user\u id=views.user\u id因为如果条件memberships.user\u id=1为真,views.user\u id等于memberships.second\u id和该second\u id可能不等于1

我有一个MySQL查询-我的问题是,
WHERE
子句的第二部分不起作用,只获取行,它等于
memberships.user\u id=1
,但已经不是
或views.user\u id=1


为什么不呢?怎么了?

那是因为你是以
会员身份加入的。第二个\u id
可能应该是
会员身份。user\u id=views.user\u id
因为如果条件
memberships.user\u id=1
为真,views.user\u id等于memberships.second\u id和该second\u id可能不等于1,这是因为您加入了
会员身份。second\u id
可能应该是
会员身份。user\u id=views.user\u id
,因为如果条件
memberships.user\u id=1
为真,views.user_id等于memberships.second_id,且该second_id可能不等于1

视图表中是否存在(加入时)与查询匹配的明确记录?可能是mysql运算符,而不是OR。。。无论如何,你的问题有点混乱,特别是“只获取行”。请修改解释,因为它还不清楚。也许您应该在表中生成一个最简单的模式示例和示例数据,以及您得到的与预期的结果。您可能只需要在
视图中显示几(1-4)行,在
成员身份中显示几(1-4)行即可。伙计们,我尝试使用
LEFT
而不是
internal
连接,它可以工作…@user984621那么您在表
视图中没有记录
成员身份。second\u id=views.user\id
视图。user\u id=1
视图表中是否有明确的记录(连接时)匹配查询?可能是mysql运算符,而不是OR。。。无论如何,你的问题有点混乱,特别是“只获取行”。请修改解释,因为它还不清楚。也许您应该在表中生成一个最简单的模式示例和示例数据,以及您得到的与预期的结果。您可能只需要在
视图中显示几(1-4)行,在
成员身份中显示几(1-4)行即可。伙计们,我尝试使用
LEFT
而不是
internal
连接,它起作用了…@user984621那么你在
表视图中没有记录
memberships.second_id=views.user_id
视图。user_id=1
我尝试使用
LEFT-JOIN
而不是
internal-JOIN
,看起来它起作用了,但是我不太确定,如果是右键,那么应该使用
1
而不是
视图。用户id
-我从终端窗口复制了查询,其中是数字而不是变量。我尝试使用
左键连接
而不是
内键连接
,它看起来很有效,但我不确定,如果是右键连接,而不是
1
应该是
视图。用户id
-我从终端窗口复制了查询,其中是数字而不是变量。
SELECT `views`.* FROM `views` 
    INNER JOIN memberships ON memberships.second_id = views.user_id 
    WHERE (memberships.user_id = 1 OR views.user_id = 1)