Sql 根据表的条件连接三个表

Sql 根据表的条件连接三个表,sql,join,Sql,Join,我有一个简短的问题 我有一个带有openid的表和另外两个表 连接它们的是用户ID 但是我必须开始在deopenid表中查找userid 这可以在一个select语句中完成,还是需要两个select语句 我试过了,但显然不行 从openid中选择op*、g*、gp*作为op INNERJOINusers作为g ON(g.userid=op.userid) INNERJOINprofiles作为gp打开(gp.userid=op.userid) 其中op.openid=2 谢谢你,Richard试

我有一个简短的问题

我有一个带有openid的表和另外两个表 连接它们的是用户ID

但是我必须开始在deopenid表中查找userid 这可以在一个select语句中完成,还是需要两个select语句

我试过了,但显然不行

openid
中选择op
*
、g
*
、gp
*
作为op INNERJOIN
users
作为g ON(g.
userid
=op.
userid
) INNERJOIN
profiles
作为gp打开(gp.
userid
=op.
userid
) 其中op.
openid
=
2

谢谢你,Richard试试看

SELECT op.*, g.*, gp.* 
FROM openid AS op 
INNER JOIN users AS g ON g.userid = op.userid
INNER JOIN profiles AS gp ON gp.userid = op.userid
WHERE op.openid = 2

非常感谢,你知道它是什么吗,backticks还是括号,花了一些时间重新输入了query2的内容:你写的
内部连接没有空格,你错过了
之间的
op.*,g.*,gp.*
谢谢,我能以某种方式返回结果中的一个userid列而不是三个吗?是的。您可以按
分组。但是,您必须定义应该返回其他表中的哪些内容。为了做到这一点,您必须扩展您的问题,提供有关表内容的信息,以及您想要返回的确切内容。