Tabellenübergreifendes subtrahieren

MichaelS

Neuer Benutzer
Beiträge
4
Hallo zusammen,

ich habe folgendes Problem und komme nach Stunden auf keine Lösung.
Ich habe zwei Tabellen mit Verpackungsanzahlen. Die eine Tabelle enthält den Wareneingang, die andere den Warenausgang.
Wareneingang summiert hat die Spalten (Verpackungs-ID, Summe Wareneingang)
Auftraege summiert hat die Spalten (Verpackungs-ID, Summe Auftraege)
Nun möchte ich den tatsächlichen Verpackungsbestand ermitteln. Also Summe Wareneingang minus Summe Auftraege)

Wie kann ich das realisieren?
 
Werbung:
Hallo zusammen,

ich habe folgendes Problem und komme nach Stunden auf keine Lösung.
Ich habe zwei Tabellen mit Verpackungsanzahlen. Die eine Tabelle enthält den Wareneingang, die andere den Warenausgang.
Wareneingang summiert hat die Spalten (Verpackungs-ID, Summe Wareneingang)
Auftraege summiert hat die Spalten (Verpackungs-ID, Summe Auftraege)
Nun möchte ich den tatsächlichen Verpackungsbestand ermitteln. Also Summe Wareneingang minus Summe Auftraege)

Wie kann ich das realisieren?

Mit Grundlagenwissen.

Code:
test=*# select * from wareneingang ;
 ware | anzahl
------+--------
  1 |  10
  2 |  12
  3 |  15
(3 rows)

test=*# select * from warenausgang ;
 ware | anzahl
------+--------
  2 |  5
(1 row)

test=*# select we.ware, we.anzahl as eingang, wa.anzahl as ausgang, we.anzahl-wa.anzahl as bestand from wareneingang we left join warenausgang wa on we.ware=wa.ware;
 ware | eingang | ausgang | bestand
------+---------+---------+---------
  1 |  10 |  |
  2 |  12 |  5 |  7
  3 |  15 |  |
(3 rows)

test=*# select we.ware, we.anzahl as eingang, wa.anzahl as ausgang, we.anzahl-coalesce(wa.anzahl,0) as bestand from wareneingang we left join warenausgang wa on we.ware=wa.ware;
 ware | eingang | ausgang | bestand
------+---------+---------+---------
  1 |  10 |  |  10
  2 |  12 |  5 |  7
  3 |  15 |  |  15
(3 rows)
 
Vielen Dank für die rasche Antwort.

Ich tue mich schwer mit der Umsetzung auf meine Tabellen.
In den Tabellen für den Wareneingang und Warenausgang sind unterschiedliche Buchungen und darunter auch Einträge mit identischen Waren.
z.b.
ware | anzahl
1 | 2
2 | 3
1 | 5

usw.

Wie kann ich die zuvor gruppieren und dann tabellenübergreifend subtrahieren?
 
Vielen Dank für die rasche Antwort.

Ich tue mich schwer mit der Umsetzung auf meine Tabellen.
In den Tabellen für den Wareneingang und Warenausgang sind unterschiedliche Buchungen und darunter auch Einträge mit identischen Waren.
z.b.
ware | anzahl
1 | 2
2 | 3
1 | 5

usw.

Wie kann ich die zuvor gruppieren und dann tabellenübergreifend subtrahieren?

Im Prinzip hast Du es selber gesgt: erst gruppieren und dann joinen.

select ... from ... join (select waren, sum(anzahl) from ... group by ware) as foo on ...
 
Dann war ich schon auf der richtigen Spur.
Nur wie sieht die richtige Zeile auf das zuvor erstellte Beispiel aus?
Ich habe mit der Syntax meine Schwierigkeiten und bin noch weit davon entfernt das für mich so durchschaubar zu machen, das es auf Anhieb klappt.
Ich brauch diese Aufstellung beruflich, da wir ein kleines Kistenlager verwalten müssen, wo wir sehr einfach den Kisteneingang bzw. Kistenausgang buchen. Hierzu habe ich LibreOffice Base zur Verfügung.

Edit:
Gibt es eine wirklich sehr einfache Einleitung in die SQL - Syntax mit sehr einfachen Beispielen?
Google ist nicht immer hilfreich und viel verwirrt viel.
 
Gibt es eine wirklich sehr einfache Einleitung in die SQL - Syntax mit sehr einfachen Beispielen?
Google ist nicht immer hilfreich und viel verwirrt viel.

Ich fand früher diese Seite nett: http://www.varlena.com/GeneralBits/archive.php Leider betreibt Elain das seit vielen Jahren nicht mehr weiter.
Ansonsten: man kann z.B. in Foren wie diesem abhängen und Fragen anderer beantworten - dabei muß man ja drüber nachdenken und lernt selber. Probier es aus ;-)
 
Werbung:
@akretschmer
Ansonsten: man kann z.B. in Foren wie diesem abhängen und Fragen anderer beantworten - dabei muß man ja drüber nachdenken und lernt selber. Probier es aus ;-)
Seh ich genauso. Mache hier ja auch nichts anderes :D

@MichaelS Bevor wir dir erklären wie diese spezifischen Statements funktionieren, solltest du vllt. mal den generellen Gedanken hinter SQL, Tabellen etc. verstehen :)
Der Rest kommt dann eig. ganz von alleine...
 
Zurück
Oben