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