这是一个postgres数据库。我试图从品种表中拉出狗品种名称(Cane Corso,Labrador等),根据动物表中的外键显示。我的问题是动物表有两个外键到这个单一品种表,我不断收到我的查询错误。第一个品种名称将根据左连接返回,但第二个品牌名称无法显示,因为我已经有一个左连接。以下是我试图做的简要概述:
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,我很失败。我可以轻松地对品种名称进行硬编码并将其显示在应用程序中,但这不利于数据库中品种名称的更改,添加或删除。
只需在同一个表上进行另一次连接:
原文链接:https://www.f2er.com/postgresql/192863.htmlSELECT 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';