Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: benjamin.grimm am August 27, 2013, 21:31:23

Titel: 2 Tabellen mit gleicher ID zusammenführen
Beitrag von: benjamin.grimm am August 27, 2013, 21:31:23
Hallo zusammen,

ich versuche 2 Tabellen mit gleicher ID zusammenführen.

Also ich hab die Tabelle 1

ID
Datum_SAP
Betrag_SAP

Tabelle 2

ID
Datum_Geris
Betrag_Geris

Beispiel

Tabelle 1:
ID   Datum_SAP Betrag_SAP
1   2011   100,00 €
1   2012   200,00 €
2   2008   900,00 €
2   2009   10,00 €
3   2012   2,00 €
3   2013   5,00 €

Tabelle 2
ID   Datum_Vergütung   Betrag_Vergütung
1   2009   1,00 €
1   2010   2,00 €
1   2011   3,00 €
1   2012   2,00 €
2   2009   3,00 €
2   2010   2,00 €
2   2012   21,00 €
2   2013   2,00 €
3   2010   2,00 €
3   2011   12,00 €
3   2012   2,00 €
3   2013   2,00 €

Nun möchte ich eine dritte Tabelle haben, die die zwei Tabellen verknüpft anhand der ID´s.


Also für ID 1 bspw.

ID        Datum          Betrag_SAP         Betrag_Geris
1          2009            0                        1
1          2010            0                        2
1          2011            100                    3
1          2012            200                    2

Ich hab das jetzt schon so oft probiert. Ich bekomm aber immer doppelte Datensätze. Wie geht das?

Hab auch schon mit einer Kreuztabelle probiert. Hab es nicht herausgefunden.


Hier noch mein SQL Code

SELECT Tabelle1.SUWID, Tabelle1.Datum_SAP, Tabelle1.Betrag_SAP, Tabelle2.Betrag_Vergütung
FROM Tabelle1, Tabelle2;

Vielen Dank im Voraus
Titel: Re: 2 Tabellen mit gleicher ID zusammenführen
Beitrag von: bahasu am August 27, 2013, 21:48:31
Hi,

im Abfragen-Entwurf eine Linie ziehen von der ID der einen Tabelle zur ID der anderen Tabelle.
Bei Verknüpfungsart gibt es dann drei Möglichkeiten. Am besten ausprobieren, welche am besten passt.

Harald
Titel: Re: 2 Tabellen mit gleicher ID zusammenführen
Beitrag von: benjamin.grimm am August 28, 2013, 11:01:07
Irgendwie funktioniert das nicht.

Hier ist mein SQL Code.

Kann mir jemand helfen?

SELECT Tabelle1.SUWID, Tabelle1.Datum_SAP, Nz([Betrag_SAP],0) AS Betrag1, Nz([Betrag_Vergütung],0) AS Betrag2
FROM Tabelle1 LEFT JOIN Tabelle2 ON Tabelle1.Datum_SAP = Tabelle2.Datum_Vergütung;
Titel: Re: 2 Tabellen mit gleicher ID zusammenführen
Beitrag von: bahasu am August 28, 2013, 11:13:01
Hi,

Frage zur ID in Tabelle 2:
Diese ID (z.B. 3) taucht mehrfach auf. Ist das demnach ein Fremdschlüssel?

Du wolltest die ID's verknüpfen.
Im letzten Beispiel nimmst Du das Datum.
Wenn in Tabelle 2 das Datum (z.B. 2012) mehrfach vorkommt, kommen mehrfache Daten heraus.

Bitte beschreib mal, wie das Ergebnis aussehen soll. Mir ist auch nicht klar, was die Kombination von ID und Datum in der ersten Tabelle soll. zu gleichen ID's gibt es unterschiedliche Datumsangaben.

Harald
Titel: Re: 2 Tabellen mit gleicher ID zusammenführen
Beitrag von: benjamin.grimm am August 28, 2013, 11:29:07
Hey danke für die schnelle Rückmeldung.

Also ich hab die 2 Tabellen.

Eine Tabelle liefert Werte aus dem SAP.

Die andere Tabelle liefert Werte aus einem Garantiesystem.

Problematisch ist hierbei jedoch, dass aus dem SAP Erträge kommen, die nicht jedes Jahr anfallen, so kann es beispielsweise passieren, dass folgendes passiert

Ich habe den Vetrag mit der ID 1:

ID          Jahr           Betrag

1            2010           5000€

1            2012            4000€  


Also es sind nur Erträge in 2010 und 2012 entstanden.

Weiterhin hab ich jetzt die Tabelle 2

Die hat ja dann auch die VertragsID 1

hier sieht es jetzt aber so aus.

ID         Jahr             Kosten

1          2010               500€

1          2011               1000€

1          2012               2000€

2013 ist noch nichts aufs Garantiekonto gelaufen. Deshalb ist dort auch nichts verbucht und 2013 existiert in der Tabelle nicht. Es kann aber auch halt ebenso passieren, dass in 2011 nie was angefallen ist und somit 2011 auch komplett fehlt.

Ich möchte nun ein Diagramm über die Verläufe erstellen. Ich brauch hierzu aber eine neue Tabelle bzw. Abfrage in der die Werte mit den Jahren nebeneinander stehen.

Also wie hier beschrieben

ID          Jahr            Erträge SAP          Kosten Garantiesystem

1             2010               5000€                      500€

1             2011                 0€                           1000€

1             2012               4000€                       2000€

1              2013               0€                             0€


Es muss aber auch nicht dringend eine neue Abfrage ergeben, wie gesagt ich brauche nur in das Diagramm.


Ich habe vorher mal versucht die Datum´s miteinander zu verknüpfen, das hat auch nicht funktioniert, darum sieht der SQL Code so aus.

Vielen Dank im Voraus.



Titel: Re: 2 Tabellen mit gleicher ID zusammenführen
Beitrag von: bahasu am August 28, 2013, 12:49:23
Hi,

Lösungsvorschlag im Anhang.
Es gibt zwei Tabellen.

Mit der ersten Abfrage (union) schaffe ich eine gemeinsame Basis für Jahr + ID.
Zu dieser Basis werden die beiden Tabellen verknüpft (Verknüpfungsoption 2).

Hoffe, es hilft.

Harald

[Anhang gelöscht durch Administrator]
Titel: Re: 2 Tabellen mit gleicher ID zusammenführen
Beitrag von: benjamin.grimm am August 28, 2013, 14:21:46
Super.

Es funktioniert bei deiner Datei. Ich finde das super wie du das gelöst hast.

Vielen Dank.

Ich muss es jetzt nur noch in meine Datenbank einbauen.

Ich hoffe das klappt.

Vielen, vielen Dank  :)