お世話になります。
SQLにて社員の「今日」の予定一覧を出力したいです。
結果から言うと、取得出来たのですが
もっとスマートと言うか、シンプルと言いますか、
適切な記述があるような気がして質問させていただきます。
社員マスタの全社員分が対象で、
予定が未入力でも出力したいです。
テーブルの構成は以下のようになっています。
社員マスタ(employees)
id
emp_name
予定データ(plans)
id
employee_id
plan
plan_date
試したSQL
SQL
1SELECT emp_name, plan FROM employees 2LEFT OUTER JOIN plans ON plans.employee_id = employees.id 3WHERE plans.plan_date='2017-05-28'; 4
上記ですと
予定データを2017-05-28に入力している社員しか出力されません。
※予定データ未入力の社員が出力されない。
もう1つ試したSQL
SQL
1SELECT emp_name, P.plan FROM employees 2LEFT OUTER JOIN (SELECT * FROM plans WHERE plan_date='2017-05-28') AS P ON P.employee_id = employees.id; 3 4
上記は、先に「今日」で絞り込みした予定と、
社員マスタを結合させ出力出来ました。
ですが、しっくり来てません。。。
こういう場合どういった記述がより適切でしょうか?
どうぞ宜しくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/28 07:02