Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Gruppierte Abfrage, um nur einen Datensatz zu finden (employee_id =1 oder null)

Probieren Sie Folgendes aus:

SELECT 
  b.calendar_id,
  a.employee_id,
  a.weekday 
FROM
  (SELECT 
    `weekday`,
    MAX(employee_id) AS employee_id 
  FROM
    calendar 
  WHERE employee_id = 1 
    OR employee_id IS NULL 
  GROUP BY `weekday`) a 
  LEFT JOIN calendar b 
    ON a.weekday = b.weekday 
    AND a.employee_id = b.employee_id ;

Lassen Sie es mich wissen, falls es Unklarheiten gibt.