SQL UPDATE out of SELECT
bearbeitet von
Hallo Bobby,
danke für die flotte Antwort habe ich probiert und Folgendes formuliert:
~~~sql
UPDATE Kunden
SET Kunden.DeleteIntern=1
Where Kunden.KuIndex IN
(SELECT KuIndex, Leben, Stubser
FROM (SELECT Kontakte.KuIndex,
MAX(IF(Kontaktart.Lebenszeichen = 1, Kontakte.Zeitpunkt, NULL)) AS Leben,
SUM(IF(Kontaktart.Lebenszeichen IS NULL
AND Kontakte.Zeitpunkt>DATE_ADD(CURDATE(), INTERVAL -3 YEAR), 1, 0)) AS Stubser
FROM Kontakte INNER JOIN Kontaktart ON (Kontakte.Titel=Kontaktart.Kontaktart)
GROUP BY Kontakte.KuIndex) Liste
WHERE ((Stubser > 5) AND (Leben<DATE_ADD(CURDATE(), INTERVAL -3 YEAR))))
~~~
Das geht aber leider nicht :-(
MySQL meldet:
#1241 - Operand sollte 1 Spalte(n) enthalten
SQL UPDATE out of SELECT
bearbeitet von
Hallo Bobby,
danke für die flotte Antwort habe ich probiert und Folgendes formuliert:
UPDATE Kunden SET Kunden.DeleteIntern=1 Where Kunden.KuIndex IN (SELECT KuIndex, Leben, Stubser FROM (SELECT Kontakte.KuIndex, MAX(IF(Kontaktart.Lebenszeichen = 1, Kontakte.Zeitpunkt, NULL)) AS Leben, SUM(IF(Kontaktart.Lebenszeichen IS NULL AND Kontakte.Zeitpunkt>DATE_ADD(CURDATE(), INTERVAL -3 YEAR), 1, 0)) AS Stubser FROM Kontakte INNER JOIN Kontaktart ON (Kontakte.Titel=Kontaktart.Kontaktart) GROUP BY Kontakte.KuIndex) Liste WHERE ((Stubser > 5) AND (Leben<DATE_ADD(CURDATE(), INTERVAL -3 YEAR))))
Das geht aber leider nicht :-(
MySQL meldet:
#1241 - Operand sollte 1 Spalte(n) enthalten