Anmelden

View Full Version : Mal wieder SQL und Summe



KingofKning
14-07-11, 07:52
Hallo *all,
ich habe hier eine Tabelle mit Rechnungspositionen und muß jetzt für einen Kunden eine Rechnungsliste mit der Gesamtsumme generieren.

Aufbau der Datei ist:
RG-Nr BG-Nr KDN Artikel Betrag
67430 98088 2918 226353 2160,000
67430 98088 2918 242995 2160,000
67430 98088 2918 231609 2160,000
67430 98088 2918 226346 2160,000
67430 98088 2918 30202 60,000
67456 98567 2918 222454 3,000
67456 98567 2918 213872 4,000
67456 98567 2918 213896 9,000


Haben möchte ich schlußendlich:

RG-Nr BG-Nr KDN Artikel Endsumme
67430 98088 2918 226353 4000,00
67456 98567 2918 213896 16,00

In Query schaffe ich zwar die Summe, habe aber entweder nur die RG-Nr und die Summe oder aber alle Positionen und die Summe und nicht nur die eine Zeile.

Im SQL verheddere ich mich immer mit den group by etc. Die saubere Syntax gelingt mir leider nicht.

Könnt ihr mir evtl. sagen wie die Syntax aussehen müßte?

Für Hinweise dankbar.

GG

malzusrex
14-07-11, 08:00
Guten Morgen,

wenn du also eine ArtikelNummer mit dabei haben willst, dann eventuell so. (in diesem Fall wir immer die größte ArtNr genommen)


Select RgNr, BgNr, KdNr, max(Artikel), sum(betrag)
from MyFile
group by RgNr, BgNr, KdNr
order by RgNr, BgNr, KdNr


Gruß
Ronald

B.Hauser
14-07-11, 08:14
Die Frage ist, macht es überhaupt Sinn bei der Gesamt-Summe einer Rechnung eine Artikel-Nr. mit auszugeben. (Auf einer Rechnung können ja x Artikel sein!)

Birgitta

KingofKning
14-07-11, 08:27
Du hast Recht, das war ein Copy/Paste Fehler, da ich aber keinen Doktor Titel habe, brauche ich den jetzt nicht zurückzugeben ;-)

Aber ich habe mir die Anforderung vom Kunden nochmals durchgelesen, der will jetzt auch noch eine 2 Bestell-Nummer haben die ich in einer anderen Datei finde.

Ich muß jetzt zu jedem angezeigtem Satz ein subselect machen, der mir über die BG-Nr und das Datum (BG-Nr wiederholt sich nach div. Jahren) das Feld BG-Nr2 holt.

Wie bastle ich denn das Subselect noch darein.

PS. Mein Fehler war die Felder by group und oder nicht alle angegeben zu haben.