我想創建一個更新查詢,並獲得正確的語法取得一點進展。 下面的查詢工作:MySQL更新與左加入和組的查詢
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
它創造三胞胎索引1,索引2,EventCounts的列表。 它僅在t.SpecialEventCount爲NULL的情況下執行此操作。我正在嘗試編寫的更新查詢應將此SpecialEventCount設置爲該計數,即上述查詢中的COUNT(m.EventType)。這個數字可以是0或任何正數(因此左連接)。索引1和索引2一起在表t中是唯一的,它們用於識別MEvent中的事件。
如何修改select查詢以成爲更新查詢?即像
UPDATE Table SET SpecialEventCount=COUNT(m.EventType).....
但我很困惑什麼把放在哪裏和失敗與無數不同的猜測。
謝謝,看起來很多我試過的東西很相似。不幸的是回來了以下錯誤: #1064 - 您的SQL語法中有錯誤;檢查對應於您的MySQL服務器版本的手冊,以找到正確的語法以在'GROUP BY t.Index1, t.Index2'附近使用第9行 – Rob 2010-06-11 12:51:53
使用版本5.0.90-log如果這有幫助 – Rob 2010-06-11 13:11:08
編輯爲使用子查詢 – Hammerite 2010-06-11 14:52:56