Announcement

Collapse
No announcement yet.

2 Tabellen mit gleichem Spaltenname ...

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • 2 Tabellen mit gleichem Spaltenname ...

    Hallo - habe ein kleines Problem.
    Ich will das mal runterbrechen :

    Nehmen wir an ich habe 2 Tabellen. In der einen ist der Kontostand im anderem der Depotstand gespeichert :

    Tabelle Konto K
    Kundennummer, Kontonummer, Vorname, Nachname, Saldo_Datum, Saldo

    Tabelle Depot D
    Kundennummer, Depotnummer, Vorname, Nachname, Saldo_Datum, Saldo

    Nun will ich für einen bestimmten Zeitraum und für eine bestimmte Kundennummer eine Tabelle mit folgenden Angaben bekommen
    Kundennummer - Datum - Kontostand - Depotstand

    Wo liegt mein Problem:
    Wie benenne ich das Saldo_Datum? Also mit welchem Tabellenprefix?
    K.Saldo_Datum? D.Saldo_Datum? Macht eigentlich beides keinen großen Sinn. Ganz weg lassen kann ich es aber auch nicht.... wie verfahre ich hier am besten?

    MfG

    Nachtrag:
    Habe bis jetzt das hier gebaut ... funktioniert aber absolut nicht was mir im Grunde auch klar ist wegen der beschriebenen Sache:

    PHP Code:
    SELECT D.kundennummerD.g_bissum(D.depot_wert) AS "Depot Saldo"sum(K.disposaldo) AS "Konten Saldo"
    FROM DEPOTS D
    INNER JOIN KONTEN K
        ON D
    .kundennummer K.kundennummer
    WHERE DK
    .KUNDENNUMMER '3804240'
    AND D.G_BIS BETWEEN '01.12.2012' AND '31.12.2012'
    AND K.G_BIS BETWEEN '01.12.2012' AND '31.12.2012'
    GROUP BY D.kundennummerD.g_bis
    ORDER BY D
    .kundennummerD.g_bis 
    Zuletzt editiert von mpunktmayer; 02.01.2013, 13:18.

  • #2
    Also mir ist ist nicht klar was 'die beschriebene Sache' ist? Vielleicht nochmal deutlich schreiber wo da noch ein Problem besteht.

    Enthalten die Depots und Konten Tabellen Kontenbewegungen oder Kontostände?

    Comment


    • #3
      Mein Problem ist das Datum, dass im Query g_bis heisst.
      Ich habe sowohl in der Tabelle für Kontostände als auch in der Tabelle für Depotstände ein g_bis, was das Datum der Gültigkeit anzeigt.
      Nun will ich aber für jedes G_BIS Datum den an diesem Tag gültigen Kontostand sowie Depotstand.
      Nach was muss ich dann Gruppieren? Ich kann im Select Teil ja nur einen der beiden G_BIS Daten angeben...

      Comment


      • #4
        Dan sollte ein ergänzendes 'AND D.G_BIS = K.G_BIS' beim join wohl reichen (und eins der beiden Betweens in der Where Klausel kannst du dann streichen). Da die ja gleich sind und nach deiner Beschreibung auch Gleichheit gewünscht ist ist dann egal welches Datum (oder beide) du in Select und Where Klausel verwendest.

        Edit : Wieso du Kontostände an verschierdenen Tagen summierst ist mir allerdings schleierhaft.Macht irgendwie keinen Sinn

        Comment


        • #5
          Danke für die Antwort ... allerdings vermute ich, dass das mein Problem noch nicht Final löst. Allerdings ist mir die versteckte Schwierigkeit auch jetzt erst klar geworden :

          Mit der 'AND D.G_BIS = K.G_BIS' Variante würde ich zwar das gewünschte Ergebniss bekommen. Allerdings nur an Tagen, für die es in beiden Tabellen einen Eintrag gibt. Nun werden aber nur Saldoänderungen gespeichert. Wenn also auf einem Konto eine Woche nichts passiert würde es für diese Woche auch keine Datensätze geben. Es müsste also der letzte Wert genommen werden, da dieser ja den Kontostand darstellt wenn es keine Änderung gab.

          Jetzt wird es wirklich kompliziert... für mich jedenfalls

          edit:
          Wieso du Kontostände an verschierdenen Tagen summierst ist mir allerdings schleierhaft.Macht irgendwie keinen Sinn
          Sofern ich deine Frage richtig verstehe hier die Antwort : Es geht sozusagen um das Vermögen eines Kunden. Da der Kunde aber durchaus mehrere Konten oder Depots haben kann werden die einzelnen Stände aufsummiert.

          Comment


          • #6
            Dann solltest du erstmal ein select distinct auf die Kunden-Namen in beiden Tabellen machen. Mit Left join kannst du dann deine beiden Tabellen mit der Zeitbeschränkung verknüpfen.

            Comment


            • #7
              Allerdings nur an Tagen, für die es in beiden Tabellen einen Eintrag gibt. Nun werden aber nur Saldoänderungen gespeichert. Wenn also auf einem Konto eine Woche nichts passiert würde es für diese Woche auch keine Datensätze geben.
              Also wenn zu einem Datum ein Satz in der Depot Tabelle vorhanden ist aber keiner im Konto möchtest du denn letzten Kontostand eines Tages davor? Und das jeweils für irgend ein Konto des Kunden? Also es könnten für jeden Konto eines Kunden ein anderes Datum relevant sein? Gilt das auch umgekehrt? Also das du nur einen Satz in der Konto Tabelle hast aber keinen passenden in der Depot Tabelle und du die Depotdaten aus den vohergehenden Tagen zusammen suchen müsstest?

              Comment


              • #8
                Originally posted by Ralf Jansen View Post
                Also wenn zu einem Datum ein Satz in der Depot Tabelle vorhanden ist aber keiner im Konto möchtest du denn letzten Kontostand eines Tages davor? Und das jeweils für irgend ein Konto des Kunden? Also es könnten für jeden Konto eines Kunden ein anderes Datum relevant sein? Gilt das auch umgekehrt? Also das du nur einen Satz in der Konto Tabelle hast aber keinen passenden in der Depot Tabelle und du die Depotdaten aus den vohergehenden Tagen zusammen suchen müsstest?
                Genau so sieht es aus ... Hier noch mal praktisches Beispiele:

                Konto 1 : Kontostand 20.01 = 500€
                Depot 1 : Depotstand 18.01 = 1100€ - für 19.01 und 20.01 keine Einträge vorhanden
                Depot 2 : Depotstand 19.01 = 1500€ - für 20.01 keine Einträge vorhanden

                Bei Abfrage der Daten hätte ich also in der Zeile zum 20.01 für diesen Kunden gerne als Ausgabe:
                Kundennummer XY - 20.01 - Kontostand 500€ - Depotstand 2600€
                Zuletzt editiert von mpunktmayer; 03.01.2013, 11:17.

                Comment

                Working...
                X