SQL statement

Daniel_CB

Aktives Mitglied
Hallo @ all

hab da ein Problem...mit einem MYSQL querry

Die abfrage KLappt aber wenn ich genau dieselbe Abfrage mit einem Update auf 2 spalten verbinde klappt es nicht
sad.gif


HIER die Abfrage
CODE $sql .='SELECT um.umsatz_id,';
$sql .=' um.id_shop,';
$sql .=' um.id_zweigstelle,';
$sql .=' um.datum_buchung,';
$sql .=' um.betrag_aktuell,';
$sql .=' um.nr_kd';
$sql .=' FROM';
$sql .=' terminals as te';
$sql .=' LEFT JOIN shop_struktur AS ss on te.id_terminal=ss.id_terminal';
$sql .=' LEFT JOIN umsatz_test AS um on ss.id_zweig=um.id_zweigstelle AND ss.id_shop=um.id_shop';
$sql .=' LEFT JOIN tbl_mitarb ON id_mitarb=mitarb_id';
$sql .=' LEFT JOIN tbl_zweig ON ss.id_zweig=tbl_zweig.id_zweig';
$sql .=' LEFT JOIN tbl_shops ON ss.id_shop=tbl_shops.id_shop';
$sql .=' WHERE te.imei LIKE \''.$this->identifer.'\' AND te.status = \'A\' AND um.status = 1 LIMIT '.$this->ct.'';




HIER der Update befehl
CODE $sql .='UPDATE um';
$sql .=' LEFT JOIN terminals AS te ON te.id_terminal=ss.id_terminal';
$sql .=' LEFT JOIN shop_struktur AS ss on te.id_terminal=ss.id_terminal';
$sql .=' LEFT JOIN umsatz_test AS um on ss.id_zweig=um.id_zweigstelle AND ss.id_shop=um.id_shop';
$sql .=' LEFT JOIN tbl_mitarb ON id_mitarb=mitarb_id';
$sql .=' LEFT JOIN tbl_zweig ON ss.id_zweig=tbl_zweig.id_zweig';
$sql .=' LEFT JOIN tbl_shops ON ss.id_shop=tbl_shops.id_shop';
$sql .=' SET um.status = \'2\'';
$sql .=' um.datum_status = \''.time().'\'';
$sql .=' WHERE te.imei LIKE \''.$this->identifer.'\' AND te.status = \'A\' AND um.status = 1 AND um.umsatz_id = '.$this->uid.' LIMIT 1';
 
Entschuldigung
Hier Die Fehlermeldung

MySQL meldet: Dokumentation
#1066 - Not unique table/alias: 'um'

Ich muss beim Updaten irgendwas umschreiben das weis ich ich weis nur nicht wie das Statement umzuschreiben

Hier nochmal das UPDATE statement mit variablen

UPDATE um LEFT JOIN terminals AS te ON te.id_terminal=ss.id_terminal LEFT JOIN shop_struktur AS ss on te.id_terminal=ss.id_terminal LEFT JOIN umsatz_test AS um on ss.id_zweig=um.id_zweigstelle AND ss.id_shop=um.id_shop LEFT JOIN tbl_mitarb ON id_mitarb=mitarb_id LEFT JOIN tbl_zweig ON ss.id_zweig=tbl_zweig.id_zweig LEFT JOIN tbl_shops ON ss.id_shop=tbl_shops.id_shop SET um.status = '2' um.datum_status = '1165577293' WHERE te.imei LIKE '010194.00.497229.4' AND te.status = 'A' AND um.status = 1 AND um.umsatz_id = 3 LIMIT 1
 
So funktioniert es
smile.gif


CODE
$sql = 'UPDATE umsatz_test AS umup '
. ' LEFT JOIN terminals AS te ON te.id_terminal=ss.id_terminal '
. ' LEFT JOIN shop_struktur AS ss on te.id_terminal=ss.id_terminal '
. ' LEFT JOIN umsatz_test AS um on ss.id_zweig=um.id_zweigstelle AND ss.id_shop=um.id_shop '
. ' LEFT JOIN tbl_mitarb ON id_mitarb=mitarb_id '
. ' LEFT JOIN tbl_zweig ON ss.id_zweig=tbl_zweig.id_zweig '
. ' LEFT JOIN tbl_shops ON ss.id_shop=tbl_shops.id_shop '
. ' SET umup.status = \'4\', umup.datum_status = \''.time().'\''
. ' WHERE te.imei LIKE \''.$this->identifer.'\' AND te.status = \'A\' '
. ' AND umup.umsatz_id = '.$this->uid.''
. ' AND umup.status= 1';



 
Zurück
Oben