Я пытаюсь создать запрос на обновление и добиваюсь небольшого прогресса в получении правильного синтаксиса.Работает следующий запрос:
SELECT t.Index1, t.Index2, COUNT( m.EventType )
FROM Table t
LEFT JOIN MEvents m ON
(m.Index1 = t.Index1 AND
m.Index2 = t.Index2 AND
(m.EventType = 'A' OR m.EventType = 'B')
)
WHERE (t.SpecialEventCount IS NULL)
GROUP BY t.Index1, t.Index2
Создает список триплетов Index1, Index2, EventCounts.Это делается только для случая, когда t.SpecialEventCount равен NULL.Запрос на обновление, который я пытаюсь написать, должен установить для этого SpecialEventCount этого счетчика, т.е. COUNT (m.EventType) в приведенном выше запросе.Это число может быть 0 или любым положительным числом (отсюда и левое соединение).Index1 и Index2 вместе являются уникальными в таблице t и используются для идентификации событий в MEvent.
Как мне изменить запрос на выборку, чтобы он стал запросом на обновление?То есть что-то вроде
UPDATE Table SET SpecialEventCount=COUNT(m.EventType).....
, но я запутался в том, что ставить, и потерпел неудачу с многочисленными различными догадками.