我有两个表,一个用户信息和一个用oauth信息。mysql左外连接有两个条件
我让人们有每个用户帐户多的OAuth登录 - 所以我有了一个OAuth表:
ID|Provider|Identifier|UserID
我想不通查询我需要的,但我需要使用此表来查找我拥有该用户标识的所有用户数据。
因此,如果我知道提供者和标识符信息,那么我可以使用该行上的用户标识符来加入其余数据并登录该用户。是否需要左连接或类似的东西?
我有两个表,一个用户信息和一个用oauth信息。mysql左外连接有两个条件
我让人们有每个用户帐户多的OAuth登录 - 所以我有了一个OAuth表:
ID|Provider|Identifier|UserID
我想不通查询我需要的,但我需要使用此表来查找我拥有该用户标识的所有用户数据。
因此,如果我知道提供者和标识符信息,那么我可以使用该行上的用户标识符来加入其余数据并登录该用户。是否需要左连接或类似的东西?
即使未找到匹配,A left join
也会返回行。由于登录不是用户的人没有意义,因此inner join
会更合适。一个inner join
是默认的类型,你可以省略:
select *
from OathLogins ol
join Users u
on u.ID = ol.ID
where ol.Provider = 'Sesame Street'
and ol.Identifier = 'Bert'
这是神奇的。必须像其他人一样将“oi”更改为“ol”,但这很完美。非常感谢@Andomar – Tim
select UI.ID, UI.Provider, UI.Identifier, UI.UserID
from user_info UI
left outer join oauth_info OI on UI.ID=OI.ID
At, last put where cluase like : " where UI.ID=3 " like
蒂姆,你可以给一个前后,比如和'用户info'表结构? – makciook