- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQL2005ストアド JOINの質問です)
SQL2005ストアド JOINで出勤実績表の作成方法
このQ&Aのポイント
- 出勤実績表を作成するためには、カレンダーマスタと出勤データの2つのテーブルが必要です。出勤していない日も帳票に出したい場合は、空白の日付分を埋める必要があります。
- 指定された日付の出勤データがない場合でも、カレンダーの日付と社員コードを表示するためには、LEFT OUTER JOINを使用する方法があります。
- しかし、SQL2005ストアドでのJOINの実装がうまくいかない場合があるようです。解決方法を知っている方がいれば、教えてください。
- みんなの回答 (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';
お礼
yorozu yaさん 大変ありがとうございます。 思うとおりの結果になりました。 SQL文まで作成して頂きお手数をお掛けしました