November 27, 2020, 06:11:42

Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!


Ergebnisse aus zwei Tabellen in eine Tabelle zusammenführen

Begonnen von mamadele, November 12, 2020, 12:39:52

⏪ vorheriges - nächstes ⏩

mamadele

Ich habe zwei Tabellen, mit gleichem Aufbau, welche die Auswertung von Artikeln aus 2019 und 2020 darstellt.

Felder sind in beiden Tabellen jeweils
Art_Nr.
Art_Bez.
Menge
Preis
EK
Gewinn

Ich hab nun eine Abfrage erstellt, in welcher die Felder Art_Nr. und Art_Bez. beider Tabellen in Beziehung stehen und somit mein Ergebnis wie folgt aussieht:

Art_Nr. / Art_Bez. / Menge2019 / Preis2019 / EK2019 / Gewinn2019 / Menge2020 / Preis2020 / EK2020 / Gewinn2020

Das ist auch genauso, wie ich es möchte. Allerdings werden nur die Datensätze angezeigt, welche sowohl in 2019 als auch 2020 die gleiche Art_Nr. und Art._Bez. haben. Es sollen aber alle Artikel aufgelistet werden, auch die, die in 2019 vorhanden sind und in 2020 nicht und umgekehrt. Wie erreiche ich die Darstellung beider Jahre in einer Tabelle, bei denen alle Artikel aus beiden Jahren enthalten sind und die gleichen Artikeldaten nebeneinanderstehen.

Bei den nur in einem Jahr vorhandenen Artikeln wären die Felder im anderen Jahr für Menge, Preis, EK und Gewinn eben leer oder 0.

Vielen Dank im Voraus für Eure Hilfe.


HB9876

Hallo,
mir ist nicht ersichtlich warum den 2 Tabellen fuer die gleichen Daten?
Ich sehe aus deinen Genannten Feldern mind. 3 Tabellen:
1. Artikel
ID, Art_Nr., Art_Bez.
2.Preise
Preis
ID,FK Zu tbl.Artikel EK, Mengen
3. Mengen
ID, FK und Menge

Der Gewinn sollte denke ich berechnet werden, aber dafuer fehlen mit genauere Angaben.
Ich wuerde anraten erst die Tabellen umzubauen und dann ueber Auswertungen nachzudenken, das ist mehr hilfreich.

Mit jeder Antwort komme ich weiter und lerne.

Danke!!!

ebs17

ZitatAbfrage erstellt, in welcher die Felder Art_Nr. und Art_Bez. beider Tabellen in Beziehung stehen
Der INNER JOIN tut das, was man erwartet: Er verknüpft Datensätze, wo die Schlüssel in beiden Tabellen vorhanden sind.

Um ALLES anzuzeigen, benötigt man so etwas:
VollstaendigeMenge LEFT JOIN AndereMenge (OUTER JOIN)

Wenn Du jetzt nicht darauf vertrauen könntest, dass eine der Tabellen die vollständige Menge an Schlüsseln enthält, müsstest Du sie selbst erst erzeugen, oder Du kannst sie unmittelbar dem durchdachten eigenen Datenmodell entnehmen.
Mit freundlichem Glück Auf!

Eberhard

mamadele

Zitat von: ebs17 am November 12, 2020, 13:33:52Um ALLES anzuzeigen, benötigt man so etwas:
VollstaendigeMenge LEFT JOIN AndereMenge (OUTER JOIN)

Vielen Dank! OUTER JOIN hat funktioniert und mir die gewünschten Daten geliefert.