AW: Frage zu JOIN
Zitat:
Die aufgeführten Einheiten sind alle unterschiedlicher Art, also meinetwegen Minbesteinheit = Paletten. Bedeutet man kann nur palletenweise bestellen. Lagerbesteinheit = Stück usw... |
AW: Frage zu JOIN
war ein Vorschlag, jetzt sollte sich vllt. der TE äußern.
(ich hatte heute eine Recherchenanfrage von zwei Stellen beide haben laut genickt bei der schriftlichen Formulierung. Dann hab ich nachgefragt ob denn auch das gemeint sei, A:Ja B:Nein :twisted:) Gruß K-H |
AW: Frage zu JOIN
Ja, jedes Feld, zu der eine Einheit gehört, kann eine andere Einheit haben (Verpackungseinheit=1 Karton, Verbrauchseinheit=1 Stück, etc.) - daher muss ich die Einheit immer wieder abfragen. Meine (unelegante, aber funktionierende) Lösung:
Delphi-Quellcode:
Nochmal: mir ging es darum, eine elegantere Abfrage zu generieren...aber offensichtlich muss das wohl so gehen (und tut es ja auch!). Danke für euren Input!!!
with DM1.DataModule1.IBCArtQuery do
begin Close; SQL.Clear; SQL.Add('select A.*,E.EINHEIT as EE,F.EINHEIT as EF,G.EINHEIT as EG,H.EINHEIT as EH,W.WARENGRUPPE as WG,L.FIRMA,L.KREDITORENNR,Z.BEZEICHNUNG as LP '); SQL.Add('from ARTIKEL A '); SQL.Add('left outer join EINHEITDB E on A.VERPEINHEIT=E.EID '); SQL.Add('left outer join EINHEITDB F on A.VERBRAUEINHEIT=F.EID '); SQL.Add('left outer join EINHEITDB G on A.LAGBESTEINHEIT=G.EID '); SQL.Add('left outer join EINHEITDB H on A.MINBESTEINHEIT=H.EID '); SQL.Add('left outer join WARENGRUPPEDB W on A.WARENGRUPPE=W.WID '); SQL.Add('left outer join LIEFERANT L on A.LIEFERANT1=L.LID '); SQL.Add('left outer join LAGERPLATZ Z on A.LAGERPLATZID=Z.LPID '); ExecSQL; end; Hartmut |
AW: Frage zu JOIN
Wie wäre es denn hiermit:
SQL-Code:
Gruß
select A.*,E.EINHEIT,W.WARENGRUPPE as WG,L.FIRMA,L.KREDITORENNR,Z.BEZEICHNUNG as LP
from ARTIKEL A left outer join WARENGRUPPEDB W on A.WARENGRUPPE=W.WID left outer join LIEFERANT L on A.LIEFERANT1=L.LID left outer join LAGERPLATZ Z on A.LAGERPLATZID=Z.LPID left outer join EINHEITDB E on A.VERPEINHEIT=E.EID union select A.*,F.EINHEIT ,W.WARENGRUPPE as WG,L.FIRMA,L.KREDITORENNR,Z.BEZEICHNUNG as LP from ARTIKEL A left outer join WARENGRUPPEDB W on A.WARENGRUPPE=W.WID left outer join LIEFERANT L on A.LIEFERANT1=L.LID left outer join LAGERPLATZ Z on A.LAGERPLATZID=Z.LPID left outer join EINHEITDB F on A.VERBRAUEINHEIT=F.EID union select A.*,G.EINHEIT,W.WARENGRUPPE as WG,L.FIRMA,L.KREDITORENNR,Z.BEZEICHNUNG as LP from ARTIKEL A left outer join WARENGRUPPEDB W on A.WARENGRUPPE=W.WID left outer join LIEFERANT L on A.LIEFERANT1=L.LID left outer join LAGERPLATZ Z on A.LAGERPLATZID=Z.LPID left outer join EINHEITDB G on A.LAGBESTEINHEIT=G.EID union select A.*,H.EINHEIT,W.WARENGRUPPE as WG,L.FIRMA,L.KREDITORENNR,Z.BEZEICHNUNG as LP from ARTIKEL A left outer join WARENGRUPPEDB W on A.WARENGRUPPE=W.WID left outer join LIEFERANT L on A.LIEFERANT1=L.LID left outer join LAGERPLATZ Z on A.LAGERPLATZID=Z.LPID left outer join EINHEITDB H on A.MINBESTEINHEIT=H.EID K-H |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:24 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