2016-10-06 39 views
0

assigned_toという名前の列とcreated_byという名前の列を持つアクティビティテーブルがあります。
"first name"と "last name"の列を持つuserテーブルを参照しています。私たちは名前(に割り当てられ、によって作成された)同じテーブルの2つのForiiegnキーを持つMysql結合テーブル

両方の値を取得するために二回ユーザーテーブルを結合する必要があります知っている

は、私は、単一の結合問合せで、このデータのすべてを取得することができます方法はありますか?

+0

答えは最後の文章にある可能性があります – 1000111

+0

ええ、しかし私は仲間の開発者からの確認が必要です – Prem

答えて

1

usersテーブルに2回参加する必要があります。表の別名を使用することは重要である:

select a.*, ua.name as assigned_name, uc.name as created_name 
from activities a left join 
    users ua 
    on a.assigned_to = ua.user_id left join 
    users uc 
    on a.created_by = uc.user_id; 

あなたがactivitiesの列のいずれかが読み込まれていない場合にはleft joinを使用したいです。

+0

ありがとう。私はこれを知っていて、すでに私の質問でそれを言及しました。この提案されたメソッドとは別に、私は単一の結合クエリで可能かどうかを知りたい。 – Prem

+1

Gordonはあなたにただ1つの結合クエリを示しました。エイリアスを使用して、必要なものを入手します。 – Drew

+0

@Drewもし私が間違っていないのであれば、彼はusersテーブルに2回参加していません。 – Prem

関連する問題