Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Suche Bezeichnung für diese SQL-Abfrage

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Suche Bezeichnung für diese SQL-Abfrage

    Ich benötige Hilfe bei einer SQL-Abfrage. Muss keine vorgekaute Lösung sein, es würde mir reichen, die Bezeichnung dieser Abfrage zu erfahren. Leider weiss ich nicht, wie man so eine Abfrage nennt, und daher fehlt es mir nach Suchbegriffen, um nach einer Lösung zu suchen.

    Ich habe eine Tabelle. Ich möchte die den Werrt "foreign_key" bekomen, bei den zwei "usernamen" einen Eintrag im gleichen "level" haben.

    Die SQL-Abfrage die ich suche, sollte also nur einen Wert ausspucken und zwar: "AOZCIBM2-DTNJ-B8OX-TOC2-IIJNGQQSYOE5". Da der Spieler Graffen und der Spieler Abeebe einen Highscoreeintrag in Level 3 haben.

    Hier noch ein Screenshot um es zu verduetlichen:
    Angehängte Dateien


  • #2
    Das hier

    Code:
    SELECT foreign_key, level, username
    FROM scores
    WHERE username LIKE 'Graffen' OR username LIKE 'abeebe'
    GROUP BY foreign_key
    HAVING Count(*)>1
    Kommt meiner gesuchten Lösung schon sehr sehr Nahe. Diese Abfrage gibt aber drei foreign_keys aus, da die Spalte "level" nicht mit beachtet wird.

    Kommentar


    • #3
      WHERE username LIKE 'Graffen' OR username LIKE 'abeebe'
      Naja, das ist ja nun auch keine Kunst.
      --

      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
      Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


      --

      Kommentar


      • #4
        SELECT foreign_key, level, username
        FROM scores
        WHERE (username LIKE 'Graffen' OR username LIKE 'abeebe') AND level LIKE '3'
        GROUP BY foreign_key
        HAVING Count(*)>1
        Wäre das Ergebniss das ich brauche. ABER das funktioniert jetzt auch nur, weil ich weiß, dass dieser "foreign_key" zwei Einträge in "level" 3 hat und ich es der WHERE-Abfrage hinzugefügt habe.

        Aber das soll ja die SQL-Abfrage selbst herausfinden, in welchem "level" es zwei "foreign_key" Einträge gibt.

        Kommentar


        • #5
          Ich habe es jetzt so gelöst:

          Eine WHILE Schleife fragt alle Einträge ab. Geordnet nach "foreign_key". Ist das Ergebnis "foreign_key" und "level" gleich der Abfrage zuvor, habe ich den "usernamen" die einen gleichen "foreign_key" Eintrag haben.

          Zwar extrem langsam und resourcenfressend, aber es funktioniert. Die Tabelle hat 12.000 Einträge und das Script läuft dementsprechend dann einige Sekunden.

          Kommentar

          Lädt...
          X