2016-05-11 15 views
1

私は現在、同じテーブルでデータを別々にフェッチする方法として問題がありますが、条件は異なります。結合する同じ列のSQLテーブル

もっとよく説明するために、以下の例を私の表として挙げてください。

紛争テーブル

id | user_to | bidder_id 
1 | 1  | 2 

usersテーブル

user_id | user_name 
1  | lawrencetecho 
2  | joshuaisanan 

私はこのように、両方を組み合わせた出力を持っているしたいと思います:

最終的な出力テーブル

id | user_to | bidder_id | user_to_name | bidder_id_name 
1 | 1  | 2   | lawrencetecho | joshuaisanan 

私は本当に言葉にそれを置く方法を知らないが、私はイラストが役に立てば幸い:

それは、「user_to」と「bidder_id」行のために追求するためにそれらを関連付けますusersテーブルの "user_id"は、 "user_id"と "bidder_id"をusersテーブルのそれぞれのidに関連付ける2つの新しいカラムを作成し、フィールドに指定されたidのuser_nameを取得します。

+0

おっとが、申し訳ありません。私はそれらを削除しました、今。 –

答えて

4

LEFT JOINはあなたの友人です。 exsample参照:

サンプル

SELECT d.*, 
utn.user_name AS user_to_name , 
bin.user_name AS bidder_id_name 
FROM disputes d 
LEFT JOIN users utn on utn.user_id = d.user_to 
LEFT JOIN users bin on bin.user_id = d.bidder_id; 
関連する問題