Ankündigung

Einklappen
Keine Ankündigung bisher.

SQL - Programmier-Ansatz gesucht

Einklappen

Neue Werbung 2019

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

  • SQL - Programmier-Ansatz gesucht

    hi,

    also ich habe 2 Tabellen.

    In der ersten Tabelle sind Spielerdaten inklusive der Vereinszugehörigkeit. Da unterschiedliche Spieler (Spalte Spielername) auch im gleichen Verein (Spalte Vereinszugehörigkeit) spielen können, enthält die Spalte Vereinzugehörigkeit logischerweise auch gleiche Vereinsnamen.

    In der zweiten Tabelle erfolgt die Ergebnismeldung zwischen zwei Spielern (- logischerweise -aus je zwei unterschiedlichen Vereinen).

    So weit so gut.

    Da eine Begegnung zwischen zwei Vereinen "zu Ende" ist, wenn je vier Spieler (aus je Begegnung aus diesen Vereinen) gegeneinander gespielt haben, soll (erst) dann folgende von mir mal "analog" ausgedrückte Abfrage erfolgen:

    "Sobald das vierte Einzelergebnis zwischen zwei Spielern einer Begegnung zwischen zwei und den selben Vereinen eintrifft, soll eine neue Tabelle mit den beiden beteiligten Vereins(namen) sowie den vier erzielten Einzelspielen mit den Spielernamen (die gespielt haben) erzeugt werden" ....denn, genau dann ist ja eine Begegnung zwischen zwei Mannschaften/Vereinen absolviert (und die Daten können ausgegeben/weiterverarbeitet werden, z.B. für das Anzeigen einer Spieltabelle mit allen Vereinen).

    Wichtig ist mir, dass bei der Ergebnismeldungs-Maske eben nicht abgefragt wird, welcher Verein gegen welchen anderen spielt. Genau dies ergibt sich ja bereits aus den Tabellen (sofern man dann SQL beherrschen würde).

    Puhhhh.....kompliziert, oder? Ich wäre schon für einen Ansatz, der mich auf die richtige Fährte bringt, dankbar.

  • #2
    "Sobald das vierte Einzelergebnis zwischen zwei Spielern einer Begegnung zwischen zwei und den selben Vereinen eintrifft, soll eine neue Tabelle mit den beiden beteiligten Vereins(namen) sowie den vier erzielten Einzelspielen mit den Spielernamen (die gespielt haben) erzeugt werden"
    Tabellen zur Laufzeit anlegen ist üblicherweise ein Anzeichen von falschem DB-Design.
    Hast du dir schonmal Normalisierung angesehen? http://www.peterkropff.de/site/mysql/normalisierung.htm

    Kannst du ein Beispiel erstellen?
    The string "()()" is not palindrom but the String "())(" is.

    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

    Kommentar


    • #3
      hi,

      Danke für den Tipp.

      Sehr gut erklärt dort auf der Seite.

      Also, wenn ich das jetzt richtig verstanden habe, sollte ich die Struktur meiner "Mini"-DB ändern, und zwar in etwa wie folgt:

      Für jeden Verein eine (separate) Tabelle mit den Mitgliedern anlegen. So vermeide ich dann Mehrfachnennungen des Vereinsnamens, so wie es ja in der urprünglichen Tabelle war.

      Die "Ergebnismeldetabelle" kann ich demnach ja so lassen, da ja jede Einzelspielpaarung (mit dem gemeldeten Ergebnis) einmalig ist.

      Jetzt brauche ich dann nur noch die Abfrage, anhand der erkannt wird, dass Spieler X dem Verein Y angehört.

      mal schauen ob ich es hinkriege...vielen Dank!

      Kommentar


      • #4
        Zitat von MrSport Beitrag anzeigen

        Also, wenn ich das jetzt richtig verstanden habe, sollte ich die Struktur meiner "Mini"-DB ändern, und zwar in etwa wie folgt:

        Für jeden Verein eine (separate) Tabelle mit den Mitgliedern anlegen.

        Nein.
        PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

        Kommentar

        Lädt...
        X