Einzelnen Beitrag anzeigen

khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#1

SQL-Statement funktioniert nicht

  Alt 7. Jul 2011, 09:55
Datenbank: firebird • Version: 2.1 • Zugriff über: zeos
Hallo zusammen
folgendes Statement :
Code:
update artikelpreise p1
set p1.bruttopreis =
(SELECT bruttoneu as bruttopreis FROM artikelpreiseaenderung p2
WHERE p1.artikelpreis_id = p2.artikelpreis_id ),  
p1.nettopreis = (SELECT (bruttoneu / (100  + p2.mwstsatz ) *100 ) as nettopreis FROM artikelpreiseaenderung p2
WHERE p1.artikelpreis_id = p2.artikelpreis_id )
funktioniert solange in artikelpreise und artikelpreiseaenderung die gleiche Anzahl DS vorhanden sind.
Wenn in der Tabelle artikelpreise aber weitere DS stehen werden diese logischerweise auf 0 gesetzt.

Das Statement wie folgt zu erweitern funktioniert auch nicht:

Code:
update artikelpreise p1
set p1.bruttopreis =
(SELECT bruttoneu as bruttopreis FROM artikelpreiseaenderung p2
WHERE p1.artikelpreis_id = p2.artikelpreis_id ),  
p1.nettopreis = (SELECT (bruttoneu / (100  + p2.mwstsatz ) *100 ) as nettopreis FROM artikelpreiseaenderung p2
WHERE p1.artikelpreis_id = p2.artikelpreis_id )


WHERE p1.artikelpreis_id = p2.artikelpreis_id;
hier kennt er p2 der letzten where-Klausel nicht

was mache ich falsch?


Danke Gruss KH
Karl-Heinz

Geändert von khh ( 7. Jul 2011 um 11:23 Uhr)
  Mit Zitat antworten Zitat