2017-02-23 2 views
1
SELECT @mynumber := number 
FROM tqueue 
WHERE STATUS = '4' 
AND get_ticket >= CURDATE() 
AND get_ticket < DATE_ADD(CURDATE() , INTERVAL 1 
DAY) 
GROUP BY services 
ORDER BY nomor ASC; 

UPDATE tqueue SET STATUS = '8' WHERE number = @mynumber ; 

Meine Frage ist, kann ich bei dieser Auswahl innerhalb Update-Abfrage teilnehmen? Weil ich Probleme mit Multiquery in PHP hatte?Ich möchte zwei Abfragen von MySQL, Update von wählen?

dieser Abfrage Aktualisierungsstatusses Spalt Blick auf meiner Tabelle

------------------------------------------ 
    number | status  | get_ticket 
------------------------------------------ 
    4    4   17:58:00 
    3    4   16:00:00 
    2    4   13:05:13 
    1    8   12:05:34 

mit, dass die Abfrage mit i der minimalen Anzahl ändern kann, wird von 4 bis 8 Status ändern, wenn ich mit dem Status 4 Nummer erneut min Zahl Update 2 ändert sich zu 8, aktualisiert wieder Nummer 3 bis 8 Status und wird so fortfahren, oder wenn Sie php Code haben, können Sie mir Beispielcode mit PHP aus meinem Fall geben, aktualisieren von wählen

+1

Ja, Sie können Select Abfrage in Update-Abfrage verbinden –

+0

Zeigen Sie die Verwendung von PHP/MySQL. – chris85

Antwort

0

Verwenden Sie die erste Abfrage als subquery für where Zustand.

UPDATE tqueue SET STATUS = '8' WHERE number =(SELECT number 
FROM tqueue 
WHERE STATUS = '4' 
AND get_ticket >= CURDATE() 
AND get_ticket < DATE_ADD(CURDATE() , INTERVAL 1 
DAY) 
GROUP BY services 
ORDER BY nomor ASC); 
+0

# 1093 - Sie können für die Aktualisierung in der FROM-Klausel keine Zieltabelle 'tqueue' angeben – Heri

Verwandte Themen