私はこれを数日間続けてきました。Oracle PL/SQL:異なる条件の複数のレコードがテーブル内に存在するかどうか
私はPL/SQL(および一般的なSQL)をかなり使い慣れており、複数の条件が列に存在するかどうかを判断しようとしていますが、単一のレコード(WHERE文が調べるもの)ではありません。
たとえば、私は従業員のテーブルと予定されている作業シフトがあるとしましょう。そして、私はまた、以下のように残業をするためのテーブルを持っているとしましょう。(すべての期間について申し訳ありません、あきらめる前にテーブルをフォーマットする方法を理解するために1時間を費やしました):
テーブル "ScheduledShifts 「
EmployeeID ShiftID ShiftDate
1 1 3/20/16
1 3 3/21/16
1 1 3/22/16
2 1 3/20/16
2 1 3/21/16
2 2 3/22/16
表 『OvertimeBids』
EmployeeID ShiftID ShiftDate
1 4 3/21/16
2 4 3/21/16
私はテーブルの下にリストされたルールに従って、以下の結果と第三のテーブルに移入されたやりたい:
表「結果」
EmployeeID ShiftID ShiftDate ApprovedYN
1 4 3/21/16 N
2 4 3/21/16 Y
ルール: 特定の従業員は、特定の日にシフト4に入札された場合...
、彼らが作業しているシフト1その入札日
、彼らの前日作業シフト3は、入札日
の日ですし、その入札期日
が続いて結果テーブルにエントリを追加し、「N」
と「ApprovedYN」を移入後、彼らは一日のシフト1を作業していますこれ以外の場合は、結果テーブルにエントリを追加し、「Y」を「ApprovedYN」に設定します。
ANDおよびORは、各フィルタを適用するのではなく、すべてのフィルタを各レコードに適用するためテーブルに個別に
ありがとうございます!
(1)サンプルデータ、所望の結果にあなたの質問を編集します。 (2)「一般的な考え方」は、誰かが質問を終わらせるための招待状である(広すぎる?意見に基づいたもの)。特定の問題を決定し、それを記述します。それから誰かがあなたを助けることができます。 –
申し訳ありませんが、これは初めて投稿したものですが、まだフォーマットする方法を学びたいと思っています。私はそれをきれいにするよ – Rymius