0
私はこのシナリオに直面しています:テーブル従業員はjoined_date列を持っています。テーブル予約には、booking_date列とEmployeeへの外部キー(employee_id)があります。従業員は、そのjoined_date列にいくつかのNULL値を持ちます。私はそれらの従業員の最初のbooking_dateの値を記入したいと思います。どのようにできるのか? FYIOracle - 別のテーブルの列のグループの最小値を持つ行を更新します
:
SELECT emp.employee_id, emp.joining_date, temp2.booking_date FROM employee emp
LEFT JOIN (SELECT bo.employee_id, bo.booking_date FROM booking bo
INNER JOIN (SELECT employee_id, MIN(booking_date) mindate FROM booking GROUP BY employee_id) temp1
ON bo.employee_id = temp1.employee_id AND bo.booking_date = temp1.mindate) temp2
ON emp.employee_id = temp2.employee_id
WHERE emp.joining_date IS NULL;
しかし、私は、この複合体は更新ステートメントに選択入れて苦労している:私は複雑で問い合わせることができ がjoining_date以下のようにNULLである従業員の最初のbooking_dateを抽出するためのステートメントに参加します:
UPDATE employee emp
SET emp.joining_date = (SELECT ...)
WHERE emp.joining_date IS NULL;