Brauche Hilfe beim Aufbau einer Access Abfrage

Hallo zusammen,

ich habe zwei Tabellen die ich zur einen zusammen führen möchte. Die beiden Tabellen sehen folgendermaßen aus.

Tabelle 1

Fertigware 1
Material A 10
Material B 10
Material C 10
Material D 10
Material E 10
Material F 10

Tabelle 2

Fertigware 2
Material A 20
Material B 20
Material C 20
Material D 20

Mal kann es sein das Tabelle 1 mehr Zeilen hat, ein anderes Mal die Tabelle 2. Das Ergebnis sollte folgendermaßen aussehen:

Ergebnis Tabelle

Fertigware 1 Fertigware 2 Total
Material A 10 20 30
Material B 10 20 30
Material C 10 20 30
Material D 10 20 30
Material E 10 10
Material F 10 10

Könnt ihr mir bitte helfen wie ich diese Tabelle entwerfen kann?

Danke im Voraus für die Antworten

Gruß
Christian

P.S.: Ich benutze Access 2000

Hallo,

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.

Was ist denn die eigentliche Aufgabe dieser DB?

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Hallo,

damit würdest Du eine Tabelle konstruieren, die gegen die 1.
Normalform
(http://www.tinohempel.de/info/info/datenbank/normali…)
verstößt.

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.

-)

ujk

Moin, ujk,

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.

Gruß Ralf

Hallo,

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.

Mf9,

ujk

Moin, ujk,

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.

Gruß Ralf

Hallo,

Und zur Übung jetzt bitte mit 3 (4, 5, …) Mengen:

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.

Da sage ich ja gar nichts dagegen.

Mf9,

ujk