WHERE Abfrage funktioniert nicht so richtig :(

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

  • WHERE Abfrage funktioniert nicht so richtig :(

    Hallo zusammen. Ich habe folgende Query:

    Code:
    SELECT 
        M.matchId, M.enemyId, M.squadId, M.points1, M.points2,
        E.enemyName,  
        S.squadName, 
        V.eventId, V.eventName
    FROM 
    	frantic_matches M 
    LEFT JOIN frantic_enemies E ON M.enemyId=E.enemyId
    LEFT JOIN frantic_squads S ON M.squadId=S.squadId
    LEFT JOIN frantic_events V ON M.eventId=V.eventId
    WHERE 
    	M.points1>M.points2 AND M.squadId='3'
    ORDER BY 
    	M.matchId DESC 
    LIMIT 0,2
    Folgender Fehler:
    Fatal error: 1109: Unknown table 'M' in where clause in C:\http\xampp\htdocs\projects\frantic\lib\classes\class_db.inc on line 91

    Nehme ich das WHERE mit dem dahinter raus, funktioniert es einwandfrei.

    Wie kommt das?

    Grüße, Oli

  • #2
    Hallo,

    frantic_matches AS M, die restlichen Tabellenangaben bei den LEFT JOINS natürlich auch mit AS.

    Gruss
    Quetschi

    EDIT:
    Moment, bin mir grad ned sicher ob das AS zwingend wäre, aber probiers einfach mal.
    Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
    Schön - etwas Geschichte kann ja nicht schaden.
    Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

    Kommentar


    • #3
      Das AS ist optional.

      Ich weiß leider auch nicht was da los ist, sollte eigentlich funktionieren.

      Mach aus dem 'M' doch mal testweise ein 'mtab'. Just for the case ...

      Kommentar


      • #4
        Da war ich mir grad ned sicher und zu faul um nachzusehen

        BTW:
        M.squadId='3'
        Ist squadId auch wirklich ein Textfeld?
        Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
        Schön - etwas Geschichte kann ja nicht schaden.
        Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

        Kommentar


        • #5
          öhm, nein ist es nicht.

          Ich habe statt M sogar schon den kompletten Tabellenname, also frantic_matches in der WHERE ABfrage verwendet, also WHERE frantic_matches.squadId = ...

          Funktioniert ebensowenig, d.h. es kommt der gleiche Fehler nur eben mit frantic_matches.

          Kommentar


          • #6
            Verwenden den richtigen Tabellennamen mal in der ganzen Query anstatt des Aliases.
            Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
            Schön - etwas Geschichte kann ja nicht schaden.
            Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

            Kommentar


            • #7
              Original geschrieben von Quetschi
              Verwenden den richtigen Tabellennamen mal in der ganzen Query anstatt des Aliases.
              so funktionierts! Komische Sache irgendwie... Dank dir!

              Kommentar

              Lädt...
              X