MySQL-update mit dem Wert aus der gleichen Tabelle mit Zählung

Was ich will zu tun ist, um jedem Patienten seine einzigartige Patienten-code, der beginnt mit 1, und es ist nicht auf der Grundlage der Zeilen-id. Id angibt, in Ordnung. So etwas wie dieses:

patient_id  patient_code
    2           1
    3           2
    4           3

Dies ist meine Abfrage:

UPDATE patients p1
SET p1.patient_code = (
    SELECT COUNT( * ) 
    FROM patients p2
    WHERE p2.patient_id <= p1.patient_id 
)

Aber es wirft Fehler:

#1093 - You can't specify target table 'p1' for update in FROM clause

Ich diesen thread gefunden: Mysql error 1093 - Können nicht geben Sie Zieltabelle for update in FROM-Klausel.
Aber ich weiß nicht, wie sich zu bewerben zugelassen beantworten Sie diese arbeiten mit Unterabfrage, WO die notwendig ist für die ZÄHLUNG.

InformationsquelleAutor Jan.J | 2013-01-03
Schreibe einen Kommentar