のため欠席レコードの値を取得します。私は2つのテーブルを持っている各従業員
表1 - EmployeeCommitment このテーブルには、従業員の時間のコミットメントの割合を示します。
列:
- 日:彼らが自分の時間をコミットした日付。
- 従業:従業員のユーザー名
- コミットメント:例えば20%は表2
従業員が仕事に日々の時間の20%をコミットすることを計画していることを意味 - カレンダー この表は、基本的には、今年の各曜日の行とカレンダーです。
列:
- Calendar_Date
- はを含める:この日付が営業日であるか否かを示すバイナリ列(例えば日が週末であるか、値を休日の場合は0で、それ以外の場合は1)
EmployeeCommitment表には、従業員が何のCを持っていない日が含まれていません誰かが仕事をしてくれると新しい行しか得られないので、かなり合理的です。
しかし、私が望むものは、従業員が何の仕事もしていないと考えている行を毎日取得することです。例えば。従業員john.smith
が今週3日(mon
、tue
、wed
)のコミットメントを得た場合、彼はthu
とfri
の2つの行を追加する必要があります(これは休日のない通常の週です)。今週は合計5行になります。
私はこの
SELECT * FROM Calendar c LEFT JOIN EmployeeCommitment e ON c.Calendar_Date=EmployeeCommitment.Date
のような2つのテーブルを結合するために試してみました。しかし、これは、JOINは右に私のテーブルのnull
列を与え、彼らが属する従業員を知る方法はありません。
をご利用いただきありがとうございます。テストしてすぐにあなたに戻ってきてください。 – Disasterkid
は魅力的に機能します。ありがとうございました! – Disasterkid