• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQL2005ストアド JOINの質問です)

SQL2005ストアド JOINで出勤実績表の作成方法

このQ&Aのポイント
  • 出勤実績表を作成するためには、カレンダーマスタと出勤データの2つのテーブルが必要です。出勤していない日も帳票に出したい場合は、空白の日付分を埋める必要があります。
  • 指定された日付の出勤データがない場合でも、カレンダーの日付と社員コードを表示するためには、LEFT OUTER JOINを使用する方法があります。
  • しかし、SQL2005ストアドでのJOINの実装がうまくいかない場合があるようです。解決方法を知っている方がいれば、教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • yorozu_ya
  • ベストアンサー率54% (76/140)
回答No.1

以下のSELECT文を参考にしてください。 SELECT 社員一覧.社員コード, カレンダー.日付, 出勤データ.出勤, 出勤データ.退勤 FROM (SELECT DISTINCT 社員コード FROM 出勤データ WHERE 日付 BETWEEN '2011/03/01' AND '2011/03/31') AS 社員一覧 CROSS JOIN カレンダー LEFT JOIN 出勤データ ON 出勤データ.社員コード = 社員一覧.社員コード AND 出勤データ.日付 = カレンダー.日付 WHERE カレンダー.日付 BETWEEN '2011/03/01' AND '2011/03/31';

kirin4247
質問者

お礼

yorozu yaさん 大変ありがとうございます。 思うとおりの結果になりました。 SQL文まで作成して頂きお手数をお掛けしました