Einzelnen Beitrag anzeigen

mojo777

Registriert seit: 10. Sep 2003
402 Beiträge
 
#1

Bitte um Hilfe bei einer dicken SQL Query... :-(

  Alt 6. Sep 2004, 22:59
Guten Abend,

wäre vielleicht jemand so lieb und mir bei der Query helfen? Ich komm wieder nicht weiter...

Erstmal die Query:
SQL-Code:
SELECT prod.NAME_DEU, prod.BESCHREIBUNG_DEU, prod.EAN,
1-(a."prozentsatz"/100+1)*t.EPREIS/t."VeInEe"/prod.vpreis AS aufschlag,
prod.VPREIS, SUM(t.Menge) AS STOCK
FROM PRODUKTEDB_FILTER prod
JOIN AUFPREISGRUPPEN a on
     a.ID=prod.AUFPREISGRUPPE
JOIN LIEFERUNGEN_TANS t ON
         t.VOLL_ID IN (SELECT ID FROM PRODUKTEDB_VOLL WHERE FILTER_ID=prod.ID)
WHERE prod.ID=204
GROUP BY prod.NAME_DEU
         ,prod.BESCHREIBUNG_DEU
        ,prod.EAN
        ,prod.VPreis,
        a."prozentsatz",
        t.EPREIS,
        t."VeInEe"
Das ist eine funktionierende Abfrage... Jedoch habe ich dabei ein problem: Die Datensätze werden auch nach Einkaufspreis und "VerkaufseinhaitenInEinkaufseinheit" gruppiert... Ich bekomme also z.b. 2 Einträge wenn es 2 Lieferungen gab zu unterschiedlichen Einkaufspreisen...
Wie kann ich das umgehen? Vielleicht die Aufschlagberechnung in eine Join anbindung packen? doch wie?
========================= argh.. hier ist die lösung...
SQL-Code:
SELECT prod.NAME_DEU, prod.BESCHREIBUNG_DEU, prod.EAN,
1-(a."prozentsatz"/100+1)*t2.EPREIS/t2."VeInEe"/prod.vpreis AS aufschlag,
prod.VPREIS, SUM(t.Menge) AS STOCK
FROM PRODUKTEDB_FILTER prod
JOIN AUFPREISGRUPPEN a on
     a.ID=prod.AUFPREISGRUPPE
JOIN LIEFERUNGEN_TANS t ON
         t.VOLL_ID IN (SELECT ID FROM PRODUKTEDB_VOLL WHERE FILTER_ID=prod.ID)
JOIN LIEFERUNGEN_TANS t2 ON
         t2.ID =prod.LAST_LIEFERUNG

WHERE prod.ID=1
GROUP BY prod.NAME_DEU
         ,prod.BESCHREIBUNG_DEU
        ,prod.EAN
        ,prod.VPreis,
        a."prozentsatz",
        t2.EPREIS,
        t2."VeInEe",
        t2.ID
das problem wird durch eine weitere verknüpfung
Zitat:
JOIN LIEFERUNGEN_TANS t2 ON
t2.ID =prod.LAST_LIEFERUNG
umgangen. ist vielleicht nicht die eleganteste lösung, weil es sich auf die performance auswirkt.. aber mir fällt jetzt keine andere ein..

Gruß
Mojo
Muh macht die kUh
  Mit Zitat antworten Zitat