2017-12-11 23 views
0

データベースに3つのテーブルがあります:makers,partstransfersです。複数のmysqlテーブルに参加する

Makersmakerid,stampname

Parts

ある categories,name

variationsid, provider, recipient, part

Providerであるmakers/makeridへのポインタであるのでrecipientsです。

私の結果に、わかりやすい名前とコード化された/簡略化されたデータベースIDが表示されるようにクエリを実行する必要があります。

私が参加したが、私の質問のいくつか試してみた:

select makers.stampname as giver, makers.stampname as takers 
from makers 
    left join variations prov on prov.provider=makers.makerid 
    left join variations recp on recp.recipient=makers.makerid limit 5; 

は、両方の列に同じ名前を生成します。 providermakerid 24、recipientmakeridの場合、makersデータベースのstampnameと一致するようにクエリを受け取るにはどうすればよいですか?

+0

サンプルデータと予想される結果を提供してください。 –

答えて

0

申し訳ありませんが、エイリアシングをよりよく理解する必要があるようです。これは完全に機能しました:

select variations.date,provider.stampname as provname , 
recipient.stampname as recipname, 
parts.name from variations 
left outer join 
makers provider on variations.provider = provider.makerid 
left outer join 
makers recipient on variations.recipient = recipient.makerid 
left join categories parts on variations.part = parts.catid 
where variations.provider = "20" 
and 
variations.date="1944"; 
関連する問題