sql >> Base de Datos >  >> RDS >> Mysql

Consulta de actualización de MySQL con combinación izquierda y grupo por

Supongo que (Index1, Index2) es una clave única en Table , de lo contrario esperaría la referencia a t.SpecialEventCount para dar como resultado un error.

Consulta editada para usar subconsulta ya que no funcionó usando GROUP BY

UPDATE
    Table AS t
    LEFT JOIN (
        SELECT
            Index1,
            Index2,
            COUNT(EventType) AS NumEvents
        FROM
            MEvents
        WHERE
            EventType = 'A' OR EventType = 'B'
        GROUP BY
            Index1,
            Index2
    ) AS m ON
        m.Index1 = t.Index1 AND
        m.Index2 = t.Index2
SET
    t.SpecialEventCount = m.NumEvents
WHERE
    t.SpecialEventCount IS NULL