3つの異なるテーブルがあります。ユーザー、daily_status、status_types
テーブルのフィールド
ユーザー:
id,
name,
department_id
ユーザーテーブルのデータ:
u1 jai 1
u2 singh 1
u3 test 2
Daily_status:
id,
user_id,
status_id,
date
Daily_status テーブルのデータ:
1 u1 2 '23/10/2013'
2 u1 3 '24/10/2013'
3 u2 3 '23/10/2013'
4 u3 2 '23/10/2013'
5 u3 2 '23/10/2013'
status_types:
id,
status_name,
status_types テーブルのデータ
1 present
2 leave
3 sick
このようなクエリを作成する必要があります
SELECT user.id, user.name status.name
LEFT JOIN daily_status as ds ON (user.id=ds.user_id)
LEFT JOIN status_types as status ON (ds.status_id=status.id)
WHERE user.department_id=1 AND ds.date='24/10/2013'
現在の結果:
u1 jai sick
でも私はしたい
u1 jai sick
u2 singh -
結果はクエリごとに良好ですが、その部門のすべてのユーザーの詳細が表示されるように再構成する必要があります。