2016-07-14 12 views
0

2つのテーブルがあるとします。 まず、いくつかのORDERためのものです:salesperson_id、CUSTOMER_ID、日付、価格...など 第二には、人々のために、レコードPERSONです:私は、顧客と販売員の両方で順番を選択する必要がPERSON_ID、名前、メール...などIDと一致するようにクエリ

名前。 だから、レコードの行は、私は人々のためのID、名前だけを表示したくないこの

order.order_id, order.date, name (for customer), name (for salesperson) 

のように見えます。

PERSONテーブルに2回参加することはできません。どうすればよいですか?

答えて

2

はい、personテーブルを2回追加できますが、異なるエイリアス名を使用できます。

select o.order_id, o.date, 
     c.name as customer, 
     s.name as sales_person 
from order_table o 
left join person_table c on c.id = o.customer_id 
left join person_table s on s.id = o.salesperson_id 
+0

ORに参加できませんでしたか?同様に... p.id = o.customer_idまたはp.id = o.salesperoson_idにperson_table pを残してください。それとも、それに沿った何か?パフォーマンスが低下するだけでしょうか? – CodyMR

+2

いいえ、これはあなたがやる方法です。また、主キーに参加するため、パフォーマンスが問題になることはありません。 –

関連する問題