这是一个 postgres 数据库。我试图从品种表中提取狗的品种名称(卡斯罗、拉布拉多等),以根据动物表中的外键进行显示。我的问题是动物表有两个外键指向这个单一品种表,并且我的查询不断出错。第一个品种名称将根据左连接返回,但第二个品种名称无法显示名称,因为我已经有左连接。以下是我尝试做的事情的简化概述:
breed table (ID, BreedName)
animal table (ID, breedID, breed2ID)
SELECT animal.ID, breed.BreedName FROM animal LEFT JOIN breed ON animal.breedID=breed.ID WHERE animal.ID='7';
我还需要做的是让 BreedName 加入到 Animal.breed2ID 中,但我却失败了。我可以轻松地对品种名称进行硬编码并将其显示在应用程序中,但这不利于数据库中品种名称的更改、添加或删除。
只需在同一张表上进行另一个连接:
SELECT animal.ID, breed1.BreedName as BreedName1, breed2.BreadName as BreadName2
FROM animal
LEFT JOIN breed as breed1 ON animal.breedID=breed1.ID
LEFT JOIN breed as breed2 ON animal.breedID=breed2.ID
WHERE animal.ID='7';
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)