Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Consulta de atualização do MySQL com junção à esquerda e grupo por


Presumo que (Index1, Index2) é uma chave única na Table , caso contrário, esperaria a referência a t.SpecialEventCount para resultar em um erro.

Consulta editada para usar subconsulta, pois não funcionou 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