Immagino che (Index1, Index2)
è una chiave univoca su Table
, altrimenti mi aspetterei il riferimento a t.SpecialEventCount
per generare un errore.
Query modificata per utilizzare la sottoquery poiché non funzionava utilizzando 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