首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >两个外键对应一条SQL语句

问两个外键对应一条SQL语句
EN

Stack Overflow用户
提问于 2013-09-17 15:02:12
回答 3查看 63关注 0票数 1

我有两张桌子。第一个表包含ID、First_Name和Last_Name。

第二个表包含两个外键字段,其中包含第一个表的不同ID。

我希望能够运行一个SQL查询,获取第二个表的结果,然后根据两个不同的外键获取每个成员的First_Name。

我该怎么做呢?

EN

回答 3

Stack Overflow用户

发布于 2013-09-17 15:03:52

代码语言:javascript
复制
select t2.*, t1a.firstname, t1b.firstname
from table2 t2
left join table1 t1a on t2.fk1 = t1a.id
left join table1 t1b on t2.fk2 = t1b.id
票数 4
EN

Stack Overflow用户

发布于 2013-09-17 15:13:42

假设第二个表具有如下字段

userid, supervisorid (两者都引用第一个表的Id列)

您可以编写join来获得这样的值

代码语言:javascript
复制
SELECT t2.*, ID, firstname, lastname FROM table 2 t2
LEFT OUTER JOIN table 1 t1  ON
t2.userid = t1.id  
OR t2.supervisorid = t1.id 
票数 1
EN

Stack Overflow用户

发布于 2013-09-17 15:56:54

我认为正确的sql应该低于在外连接中使用OR条件或使用union条件

代码语言:javascript
复制
SELECT t1.id,t1.name from table1 t1, table2 t2 WHERE t1.id1 = t2.id1
UNION
SELECT t1.id,t1.name from table1 t1, table2 t2 WHERE t1.id1 = t2.id0

SELECT t1.id, t1.name from table2 t2 LEFT OUTER JOIN table1 t2 ON t1.id = t2.id or t1.id1 = t2.id0
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18843286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档