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