sql >> Databáze >  >> RDS >> Oracle

Oracle - Aktualizace řádků s minimální hodnotou ve skupině sloupce z jiné tabulky

Váš příkaz select je složitější, než by měl být, získáte stejnou sadu tímto způsobem:

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;

Aktualizaci lze provést takto, všimněte si, že sekce „a existuje“ je volitelná, ale mám tendenci ji zahrnout, aby byl záměr dotazu jasnější.

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. proč tento dotaz vrací řádek s nulami

  2. Vzdálený pracovní postup Symfony2 + Netbeans (feat. git)

  3. Postgres:Rozbalte sloupec JSON na řádky

  4. Entity framework 6 a oracle