読者です 読者をやめる 読者になる 読者になる

Life is Really Short, Have Your Life!!

ござ先輩の主に技術的なメモ

JOINで複数カラムを同一テーブルで結合したデータを出したい

Sql

注文テーブルに「作成者」「更新者」の2つのカラムがあります。

そのテーブルの作成者と更新者にはユーザーテーブルのユーザーIDが入っているものとします。

その作成者と更新者の氏名を、注文テーブルに連結して以下の様な一覧を作れないか、と。

作成者ID 作成者名 更新者ID 更新者名 注文日
1 山田太朗 5 田中一郎 2014/02/02

結局、こういうSQLになりました。

select 
  o.user_id,
  (select name from users where id= o.user_id),
  update_user_id,
  (select name from users where id=o.update_user_id),
  o.orderdate
 from
  orders as o

SELECT句に副問い合わせを入れるだけ。