ich eine Auswahlabfrage erstellt haben, die mir die richtigen Linien zeigt, die ich aktualisieren müssen:MySQL UPDATE Abfrage mit SubQuery
SELECT `subject`,`ticket_messages`.`ticket_ID` as t,
(SELECT `date` from `ticket_messages` where `ticket_ID`=t ORDER BY `date` DESC LIMIT 1) as d
from `ticket_messages`
LEFT JOIN `tickets` on `ticket_messages`.`ticket_ID`=`tickets`.`ticket_ID`
GROUP BY t
HAVING d<date_sub(curdate(), interval 5 day)
ORDER BY t
Ich werde PHP verwenden, aber die Abfrage zuerst in phpMyAdmin Rechts die oben Ausarbeiten Abfrage funktioniert und gibt mir die richtigen Zeilen. Im Grunde ist es alles über 5 Tage alt aufgelistet. Mach dir keine Sorgen, dass ich Thema und Datum auswähle, das war nur so, dass ich wusste, dass ich die richtigen Zeilen bekam.
Die Frage ist, wie mache ich das in eine Update-Abfrage? Es hat ein paar Stunden gedauert, bis das funktionierte.
Was werde ich Aktualisierung sein, ist dies:
UPDATE `tickets` SET `status`=?
Grundsätzlich wird es in dem ticket_messages und die Suche nach der letzten Meldung suchen werden. Was ist meine ausgewählte Abfrage, und dann wird es in meiner Tabelle "Tickets" den Status aktualisieren, wenn das letzte Datum älter als 5 Tage ist. Die Tabellen sind referenziell verknüpft.
Also brauche ich ein Update mit einer Unterabfrage, und ich habe keine Idee, darüber zu gehen.
Ok, ein bisschen mehr hinzuzufügen. Ich probierte dies
UPDATE `tickets` SET `status`=8
WHERE
(
SELECT `subject`,`ticket_messages`.`ticket_ID` as t,
(SELECT `date` from `ticket_messages` where `ticket_ID`=t ORDER BY `date` DESC LIMIT 1) as d
from `ticket_messages`
LEFT JOIN `tickets` on `ticket_messages`.`ticket_ID`=`tickets`.`ticket_ID`
GROUP BY t
HAVING d<date_sub(curdate(), interval 5 day)
ORDER BY t)!=null
Ich dachte, die Where-Klausel würde funktionieren, wenn es nicht gleich null war.
Siehe http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for- was-scheint-mir-eine-sehr-einfach-sql-abfrage – Strawberry
Ich habe auf diese Seite geschaut und weiß nicht einmal worüber es spricht. Nicht einmal sicher, was ein MCVE überhaupt machen darf. –
Das Aussehen ist nicht das Gleiche wie das Lesen. Versuche es zu lesen. – Strawberry