これはpostgresデータベースです。私は繁殖表から犬種別の名前(Cane Corso、Labradorなど)を引き出し、動物表にある外来キーに基づいて表示しようとしています。私の問題は、この単一の品種テーブルへの2つの外部キーが動物テーブルにあります。最初の品種の名前は左の結合に基づいて返されますが、2番目の名前はすでに左の結合があるので表示する名前を取得できません。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';
私は何をする必要があることもあり、私はで無残に失敗していますanimal.breed2IDのために参加することBreedNameを得る:以下は私がしようとしています何の簡素化概要です。品種名を簡単にコード化してアプリケーションに表示させることはできますが、これはデータベース内の品種名の変更、追加、削除には役立ちません。
ありがとうございます。それは計画どおりに明確になりました。私はbreed.AnimalName AS breedName1、breed.AnimalName as breedName2を行うだけでそれをやっていました。テーブルのエイリアシングを完全に逃した!もう一度おねがいします。これは、技術的なサイトで見たことのある最高のヘルプの一部です! – user1137376
私はここにいます:D私はStarShip3000の投稿にも同意します。しかし、私は3つ以上の品種の犬は起こりませんと仮定。しかし、そうするならば、スターによって推奨される方法を取ることを確かめてください。 – kingdaemon