mySQL 複数テーブルから検索したい
はじめまして、よろしくお願いします。
職場環境がかわり、はじめてmySQLを使用しています。
3つのテーブルから情報を検索したいのです。
[テーブル名: cast]
name // PRIMARY KEY
age
(例
なまえ1, 22
なまえ2, 28
なまえ3, 25
[テーブル名: photo]
name
order // 写真表示順 (INT)
url // 写真格納先URL
(例
なまえ1, 0, http://なまえ1A.jpg
なまえ1, 1, http://なまえ1B.jpg
なまえ1, 2, http://なまえ1C.jpg
なまえ3, 0, http://なまえ3A.jpg
[テーブル名: schedule]
name
workday // 出勤日 (DATE)
starttime // 出勤時間(TIME)
finishtime // 退勤時間(TIME)
(例
なまえ3, 2013-02-04, 9:00, 17:00
なまえ2, 2013-02-05, 10:00, 18:00
なまえ2, 2013-02-06, 10:00, 18:00
なまえ2, 2013-02-07, 10:00, 18:00
キャスト情報(cast)とそのキャストの写真格納先URL(photo)とキャストの出勤時間(schedule)のテーブルです。
※キャストは何枚でも写真を登録できます。登録していない場合もあります。
キャストのリストを表示したいです。
表示したい項目は
cast.name, cast.age, photo.url, schedule.starttime, schedule.finishtime
になります。
期待する結果は(2月5日の場合)
なまえ1, 22, なまえ1A.jpg, NULL, NULL
なまえ2, 28, NULL, 10:00, 18:00
なまえ3, 25, なまえ3A.jpg, NULL, NULL
すべてのキャストを表示します。
photo.urlはphoto.order=0のもの(photo.order=0の写真をサムネイル表示に使っています)
2月5日に出勤情報があれば表示
いろいろ考えたのですが、どうしても photo にデータがない("なまえ2")のところでつまづいてしまって、どうにも。。。
とりあえずPHPでそれぞれのテーブルの情報を取得して
自分で UNION、 USING('name') みたいな処理してますが、ソースがとっても恰好悪いです。
ズバッとしびれるSQL文をどうかご教示していただきたく、投稿しました。
よろしくお願いいたします><