PDA

View Full Version : SQL Frage



weidenhammer
16-12-08, 08:29
Hallo Allerseits,

ich habe folgendes Problem.
In einer Lagerbewegungsdatei stehen sowohl Fertigwarenzugänge (Buchungsschlüssel 01) als auch Rohwarenabgänge (Buchungsschlüssel 03). Dieses jeweils als ein Satz. Als Verknüpfungsmerkmal habe ich in beiden Sätzen den Fertigungauftrag. Es kann zu jedem Fertigungsauftrag ein oder mehrere Sätze Rohwarenabbuchungen geben.

Ich hätte nun gern ein SQL, welches mir gruppiert die einzelnen Zugänge auflistet, und darunter jeweils die dazugehörigen Abgänge.

Wie ist sowas elegant zu realisieren?

Bin für jeden Hinweis dankbar.

Gruss

Alexander May

Fuerchau
16-12-08, 09:23
Mit SQL darunter gehts nicht, nur daneben:

select
a.feld1, a.feld2, ...
b.feld1, b.feld2, ...
from Datei a
inner join Datei b
on a.key1=b.key1 and a.key2=b.key2 ...
where a.feldx = ...
and b.feldx = ...

Alternativ auch mit Left join (falls rechts mal keine sätze vorhanden):

select
a.feld1, a.feld2, ...
b.feld1, b.feld2, ...
from Datei a
left join Datei b
on a.key1=b.key1 and a.key2=b.key2 ...
where a.feldx = ...
and (b.feldx is null or b.feldx = ...)

B.Hauser
16-12-08, 09:48
Hallo,

versuch's mal mit einer Union-Anweisung etwa so:



Select Distinct, FertAuftr, Buchungsschl, Sonstige Info
From LagerBestand
Where Buchungsschl = '01'
Union
Select FertAuftr, Buchungsschl, Sonstige Info
From LagerBestand
Where Buchunbsschl = '03'
Union
Selects für die Abgänge
Order By FertAuftr, Buchungsschl;


Die Spalten der sonstigen Informationen müssen in beiden Select-Anweisung in Anzahl übereinstimmen und die Datentypen müssen kompatibel sein. Ggf. müssen Dummy-Werte z.B. ' ' oder 0 für die fehlenden Spalten eingesetzt werden.

Das größte Problem bei der ganzen Sache ist die Sortierung, die so hingebogen werden muss, dass die Datensätze in der gewünschten Reihenfolge angezeigt werden.

Birgitta