Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Bitte um Hilfe bei einer dicken SQL Query... :-( (https://www.delphipraxis.net/29274-bitte-um-hilfe-bei-einer-dicken-sql-query.html)

mojo777 6. Sep 2004 22:59


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

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

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? :gruebel:
========================= 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.. :stupid:

Gruß
Mojo

imp 6. Sep 2004 23:30

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

versuch mal ein select distinct ...

Schöne Grüsse,
Frank

mojo777 6. Sep 2004 23:36

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

versuch mal ein select distinct ...
nöah..
mit distinct klappts nicht.
:(

Aber auf die Idee bin ich erst gar nicht gekommen. :freak:

Gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:10 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz