Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Oracle - Aktualizuj wiersze o wartości minimalnej w grupie kolumny z innej tabeli

Twoja instrukcja select jest bardziej złożona niż jest to konieczne, ten sam zestaw otrzymasz w ten sposób:

SELECT emp.employee_id,min(bo.booking_date) booking_date
FROM employee emp
  LEFT JOIN booking bo 
  ON bo.employee_id = emp.employee_id
WHERE emp.joining_date is NULL
GROUP BY emp.employee_id;

Twoja aktualizacja może być wykonana w ten sposób, pamiętaj, że sekcja „i istnieje” jest opcjonalna, ale zwykle umieszczam ją, aby intencja zapytania była bardziej jasna.

UPDATE employee emp
  SET emp.joining_date = 
    (SELECT min(booking_date) from booking bo where bo.employee_id = emp.employee_id)
WHERE emp.joining_date IS NULL
  and exists(select * from booking bo where bo.employee_id = emp.employee_id);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. jak uzyskać trzeci raport, aby połączyć dane klienta i zamówienia

  2. policz liczbę wierszy występujących dla każdej daty w zakresie dat kolumny

  3. Nie można zaktualizować modelu danych jednostki z bazy danych z powodu błędu TNS

  4. Oracle PL/SQL - Iteruj na nazwach kolumn w tabeli zdefiniowanej lokalnie

  5. Jak używać parametrów w klauzuli „where value in...”?