SQL Abfrage Problem

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

  • SQL Abfrage Problem

    Hallo,

    ich stehe gerade auf der Leitung und brauche Hilfe:

    Möchte gerne eine Abfrage an zwei Tabellen stellen. In der ersten Tabelle (benutzerdaten) stehen Namen und EMail-Adressen Spalten (benutzername und email) und in der zweiten Tabelle (tipps) stehen abgegebene Tipps von allen Spieltagen (1 - 34) in einer Spalte (spieltage) den Benutzern.
    Jetzt möchte ich gerne herausfinden welche Benutzer noch keine Tipps am z.b. 25 Spieltag (in der Spalte Spieltag stehen nur die Zahlen) abgegeben haben.

    Hiermit habe ich es versucht, aber so liefert mir das Ergebnis nur die Benutzer die schon Tipps abgegeben haben.

    SELECT benutzername, email from benutzerdaten inner join tipps on (tipps.benutzername = benutzerdaten.benutzername AND tipps.spieltag = 25) WHERE aktiv = 1

    wenn ich nicht = 25 sodern < 25 machen, dann werde mir leider die Ergbnisse zurückgegeben die auch schon vorher mal getippt haben.

  • #2
    http://php-resource.de/forum/showthr...threadid=28292 versüßt dir das wochenende
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      das hilft mir leider nicht, könntest du vielleicht mal kurz auf mein Beispiel eingehen!?

      Kommentar


      • #4
        Original geschrieben von mrhappiness
        http://php-resource.de/forum/showthr...threadid=28292 versüßt dir das wochenende

        tipp: LEFT JOIN
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Versuch mal sowas ... :

          Code:
          SELECT benutzername, email, COUNT(DISTINCT tipps.benutzername) counted
          FROM benutzerdaten
          LEFT JOIN tipps
          ON benutzerdaten.benutzername = tipps.benutzername 
          AND tipps.spieltag = 25
          WHERE aktiv = 1
          GROUP BY benutzername, email
          HAVING counted = 0
          oder sowas:
          Code:
          SELECT benutzername, email
          FROM benutzerdaten
          LEFT JOIN tipps
          ON benutzerdaten.benutzername = tipps.benutzername 
          AND tipps.spieltag = 25
          WHERE aktiv = 1
          AND tipps.benutzername IS NULL
          JAAAAAAAA ... ich bin ein Poser ...
          carpe noctem

          [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
          [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

          Kommentar


          • #6
            vielen vielen Dank du bist mein Held!

            Kommentar


            • #7

              Nein ... ein elender Poser bin ich ... aber ich gelobe Besserung ... !

              Manchmal bin ich so gut drauf ... da passiert mir sowas einfach ...
              carpe noctem

              [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
              [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

              Kommentar

              Lädt...
              X