这是一个postgres数据库。我试图从品种表中拉出狗的品种名称(Cane Corso,拉布拉多等),以根据位于动物表中的外键进行显示。我的问题是动物表有两个外键到这个单品种表,我不断收到我的查询错误。第一个品种名称将基于左连接返回,但是第二个品种名称不能显示,因为我已经有一个左连接。下面是什么,我试图做的简化外形: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这我在惨遭失败。我可以很容易地对品种名称进行硬编码并将其显示在应用程序中,但这不利于数据库中品种名称的更改,添加或删除。
非常感谢你。澄清和完全按计划运作!我只是做了一个品种而搞乱了它。动物名称AS品种名称1,品种。动物名称AS品种名称2。完全错过了桌子的别名!再次感谢,这是我在科技网站上看到的最好的帮助! – user1137376 2012-01-08 18:42:42
嘿没问题,这就是为什么我们在这里:D我也同意StarShip3000的职位。但我认为有3个或更多品种的狗不会发生。但是,如果他们这样做,那么一定要采用Star推荐的方法。 – kingdaemon 2012-01-08 23:38:37