Hallo Matthias,
ich habe das oben mal gemacht.
Michael, damit Programmcode (PHP, HTML, CSS, JavaScript, SQL) als solcher erkannt wird, musst Du ihn hier im Forum in ~~~ einrahmen.
Beispiel (mit Leerstellen vor dem ~~~, damit es nicht interpretiert wird):
~~~sql
SELECT foo FROM bar WHERE baz=7
Hinter dem ersten ~~~ kann man noch die Sprache angeben.
Zu deiner Query: Muss es ein geschachtelter Select sein? Normalerweise sollte man ein GROUP BY Ergebnis durch eine nachgelagertes HAVING-Klausel filtern können. Wenn Du MYSQL benutzt, kannst Du im HAVING Spalten und Terme benutzen, die in der SELECT-Liste gar nicht vorkommen (das geht in anderen SQL Dialekten nicht). Man muss auch nicht so viele Klammern setzen wie Du es getan hast...
Vorschlag:
~~~sql
UPDATE Kunden
SET Kunden.DeleteIntern=1
Where Kunden.KuIndex IN
(SELECT Kontakte.KuIndex
FROM Kontakte INNER JOIN Kontaktart ON (Kontakte.Titel=Kontaktart.Kontaktart)
GROUP BY Kontakte.KuIndex
HAVING SUM(IF(Kontaktart.Lebenszeichen IS NULL
AND Kontakte.Zeitpunkt > DATE_ADD(CURDATE(), INTERVAL -3 YEAR), 1, 0)) > 5
AND MAX(IF(Kontaktart.Lebenszeichen = 1, Kontakte.Zeitpunkt, NULL))
< DATE_ADD(CURDATE(), INTERVAL -3 YEAR)
Rolf
--
sumpsi - posui - clusi
sumpsi - posui - clusi