0

我有两张表,一张带有用户信息,一张带有 oauth 信息。

我允许人们每个用户帐户有多个 oauth 登录 - 所以我有一个 oauth 表,它有:

ID|Provider|Identifier|UserID

我无法弄清楚我需要的查询,但我需要使用此表来查找我拥有的具有该 UserID 的所有用户数据。

因此,如果我知道提供者和标识符信息,然后我可以使用该行上的用户 ID,加入其余数据并登录用户。我需要左连接或类似的东西吗?

4

2 回答 2

4

left join即使没有找到匹配项,A也会返回行。由于登录不是用户的人没有意义,inner join因此更合适。Aninner join是默认类型,您可以省略它:

select  *
from    OathLogins ol
join    Users u
on      u.ID = ol.ID
where   ol.Provider = 'Sesame Street'
        and ol.Identifier = 'Bert'
于 2013-07-18T10:04:59.803 回答
0
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 
于 2013-07-18T10:26:50.380 回答