首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sql从两个不同的表调用同名的列

sql从两个不同的表调用同名的列
EN

Stack Overflow用户
提问于 2014-04-21 23:46:27
回答 2查看 71关注 0票数 0

我正在试着解决这个问题

显示笼号144的详细信息。包括此笼子中动物的名称,以及照看笼子的饲养员名称,以及照看笼子中每只动物的饲养员名称。请包括笼子中每种动物的物种名称。数据应显示从年龄最大到最小的每种动物

下面是我的问题:

代码语言:javascript
复制
SELECT a.cageno, c.name AS "animal name", a.keeperID, 
       b.surname AS "cage keeper", c.keeperID,b.surname AS "animal keeper", 
       d.name AS "species name"
FROM cage a, keeper b, animal c, specie d
WHERE a.cageNo = 144 AND c.keeperID = b.keeperID 
ORDER BY c.DOB DESC

这里的问题是,我想要从饲养员表中获取动物饲养员的名称,但它也被用作笼养人员的名称,所以基本上我试图为笼养人员和动物饲养员获取一组单独的名称,我该如何解决这个问题?

EN

回答 2

Stack Overflow用户

发布于 2014-04-21 23:54:23

如果我很好地理解您的问题,您需要选择一个列两次。应该可以像您的示例中那样做(不是100%确定,这里没有SB服务器可供尝试)。如果不起作用,您可以使用一张表两次。

票数 0
EN

Stack Overflow用户

发布于 2014-04-21 23:56:31

假设cage有keeperID,并且它是keeper表的外键。

代码语言:javascript
复制
SELECT a.cageno, c.name AS "animal name", a.keeperID, e.surname AS "cage keeper", 
       c.keeperID, b.surname AS "animal keeper",  d.name AS "species name"
FROM cage a, keeper b, animal c, specie d, keeper e
WHERE a.cageNo = 144 
  AND c.keeperID = b.keeperID
  AND a.KeeperID = e.KeeperID
ORDER BY c.DOB DESC
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23200710

复制
相关文章

相似问题

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