Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Name mehrmals verwenden

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Name mehrmals verwenden

    Hallo,

    ich habe ein kleines Problem (wie wahrscheinlich fast alle hier.)

    Ich habe die Tabelle 'pferde' ausgeben lassen, hat alles super geklappt.
    So, nun habe ich noch eine Tabelle mit dem Namen 'erfolge'. In der Tabelle erfolge ist ebenfalls der gleiche Name wie in der pferde Tabelle enthalten. Nun wollte ich, dass unter der Pferdetabelle die ich ausgegeben habe, nun auch die Erfolgstabelle erscheint. Jedoch muss ich irgendwie die Namen ''verbinden'', damit jeder Erfolg richtig ausgegeben wird. (Also nicht Peters Erfolge bei Hans, sondern Hans zu Hans) Wenn ich einen Primärschlüssel reinhauen würde, könnte ich ja nur eine Zeile erstellen, aber es sind ja mehrere vorhanden.

    Vielen Dank an denjenigen, der mir versuchen wird, zu helfen.


  • #2
    Hi,

    erstell doch eine Zuordnungstabelle, in der du z.B. über die ID's die beiden Tabellen verbindest und das fragst du dann easy mit JOIN ab.

    mfg Wolf29
    while (!asleep()) sheep++;

    Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

    Kommentar


    • #3
      Code:
      SELECT * FROM `pferde`
      JOIN `erfolge` ON `pferde`.`name` = `erfolge`.`name

      Kommentar


      • #4
        @wolf29: Die Pferde haben ja einzelne ID's, die Erfolge auch, aber dann müssen ja für die Erfolge mehrere ID's rein?
        @Spamversender: Deins scheint bei mir nicht zu klappen, mein Steckbrief liest die ID's der Pferde aus der Tabelle aus

        Kommentar


        • #5
          @wolf29: Die Pferde haben ja einzelne ID's, die Erfolge auch, aber dann müssen ja für die Erfolge mehrere ID's rein?
          Korrekt. Einfaches Beipiel

          Zuordnungstabelle

          id_erfolge | id_pferde
          1 1
          2 1
          3 3
          4 2

          Das kannst du jetzt easy mit Joins abfragen.

          Direkt über den Namen verküpfen halte ich für gefährlich, falls ein Namen mal doppelt vorkommt.
          while (!asleep()) sheep++;

          Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

          Kommentar


          • #6
            Also bei den Namen herrscht auf jedenfall Redundanz, aber das mit den ID's geht nicht so wie du dir das vorstellst, im Anhang sind 2 Screenshots.
            Angehängte Dateien

            Kommentar


            • #7
              ...aber das mit den ID's geht nicht so wie du dir das vorstellst, im Anhang sind 2 Screenshots.
              Klar, geht das: du musst nur deine Datenbank vernünftig (!) nach der 3. Normalform aufbauen!
              while (!asleep()) sheep++;

              Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

              Kommentar


              • #8
                Was war nochmal die 3.? Ich hab in der Schule nur gelernt, dass die 1. das mit dem atomar ist, der Rest wurde uns nicht richtig erklärt
                Ps: Eine Zeile reicht ja nicht für alle Erfolge ..
                PSS: Ach das ist doch das mit dem ''Abspalten'' wo man die in mehrere Tabellen hackt, oder?

                Kommentar


                • #9
                  http://de.wikipedia.org/wiki/Normali...form_.283NF.29
                  while (!asleep()) sheep++;

                  Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

                  Kommentar


                  • #10
                    Fremdschlüssel dürfen also redundant sein? Ich verstehe langsam, wie du das meintest. Also quasi:

                    Pferde

                    ID (PK) |Name
                    2 |Hans

                    Erfolge

                    ID (FK) | Disziplin | etc ...
                    2 | Bla |

                    Kommentar

                    Lädt...
                    X