Kombination aus INSERT, SELECT mit count(), ON DUPLICATE UPDATE

Kombination aus INSERT, SELECT mit count(), ON DUPLICATE UPDATE

am 11.07.2007 14:12:34 von prairiewolf

Hallo allerseits,

soweit ich das sehe ist ein folgendes Statement nicht machbar, oder hat
jemand eine Idee:

INSERT INTO total_acct3 (username,total_sessions)
SELECT radcheck.username,
count(radacct.AcctUniqueId) AS sessions
FROM radcheck JOIN radacct ON radcheck.username = radacct.username
GROUP BY username
ON DUPLICATE KEY UPDATE
total_sessions = total_sessions + sessions,

Der Primary Key ist "username"

Es sollen halt Accounting-Informationen summiert werden. Wenn ein User
noch nicht existiert sollen die Zeilen neu angelegt werden; wenn schon
Daten vorhanden, diese aktualisiert werden.

Das Problem ist das UPDATE mit dem Alias "sessions"

Gruß
Olaf