die beste Hilfe,die ich Dir da geben kann, ist, auf eine solche Konstrukte von Tabellen gänzlich zu verzichten. Die bringen Dir nur graue Haare und anschließend hast Du gar keine mehr, weil Du die Dir auch noch ausgerauft hast.
Captain Kirk hat ja auch ständig gegen die „1. Direktive“ verstoßen. Ich stimme Dir aber zu, dass man wissen sollte, worauf man sich damit einläßt.
SQL lässt sich nicht verhunzen und stellt deshalb
auch kein Sprachelement bereit, mit dem sich Dein Wunsch
erfüllen ließe.
Also CREATE TABLE und INSERT INTO wären schon die halbe Miete.
Wenn Du die Darstellung auf Papier brauchst, musst Du per VBA
eine sequentielle Datei erzeugen - also mittels der
prozeduralen Sprache das bauen, was in der relationalen Welt
nicht geht.
Mit VBA wäre es einfacher. Das Ergebnis ließe sich aber auch als Tabelle in der Datenbank ablegen.
Speichern solltest Du dieses Unikum niemals, weil
es bei jeder Änderung der Ausgangsdaten neu errechnet werden
müsste.
Daneben könnte eine totale Protonenumkehr die Folge sein.
SQL lässt sich nicht verhunzen und stellt deshalb
auch kein Sprachelement bereit, mit dem sich Dein Wunsch
erfüllen ließe.
Also CREATE TABLE und INSERT INTO wären schon die halbe Miete.
kleiner Denkfehler: Die Tabelle anzulegen ist nicht das Problem, sie muss aber anschließend befüllt werden, das wäre das, was hinter dem INTO table VALUES kommt. Und SQL hilft nicht dabei, Zeilen in Spalten umzusetzen (in Excel Transponieren genannt), das geht weiterhin nur mit Schleifen in VBA oder was auch immer - nur prozedural muss sie sein.
Und SQL hilft
nicht dabei, Zeilen in Spalten umzusetzen (in Excel
Transponieren genannt), das geht weiterhin nur mit Schleifen
in VBA oder was auch immer - nur prozedural muss sie sein.
so hatte ich die Frage nicht aufgefaßt. Problem war doch, zwei Tabellen (Material, Menge) zu einer zu verschmelzen (Material, Menge1, Menge2, Summe)?
Also etwa
INSERT INTO Tabelle3 ( Material, Menge1, Menge2, Summe )
SELECT Tabelle1.Material, Tabelle1.Menge1, Tabelle2.Menge2, [Menge1]+[Menge2] AS Ausdr1
FROM Tabelle1, Tabelle2
WHERE Tabelle1.Material = Tabelle2.Material
Das befüllt alle Datensätze, bei denen das Material in beiden Tabellen vorkommt. Das noch ergänzt durch zwei Abfragen mit
WHERE Tabelle1.Material NOT IN (SELECT Tabelle2.Material …)
und umgekehrt als Kriterium und die Tabelle ist befüllt.
sehr schön. Und zur Übung jetzt bitte mit 3 (4, 5, …) Mengen:
Fw1 Fw2 Fw3 Total
Material A 10 20 10 40
Material B 10 20 20 50
Material C 10 20 0 30
Material D 0 10 20 30
Wenn ich dem Kunden gezeigt habe, dass ich zwei Zeilen in Spalten umsetzen kann, will er morgen 3.
Die Bauernregel in der relationelen Welt heißt schlicht und einfach: Die Query darf sich nicht darum kümmern, wie viele Ausprägungen ein Wert (hier FW) haben kann.
das wäre nicht schwierig, da läßt sich mein Ansatz linear fortentwickeln. (Ich hatte befürchtet, Du fragst, was passiert, wenn ein Material in der Eingangstabelle mehrfach auftaucht.)
Die Bauernregel in der relationelen Welt heißt schlicht und
einfach: Die Query darf sich nicht darum kümmern, wie viele
Ausprägungen ein Wert (hier FW) haben kann.