[MySQL] JOIN's und MySQL 5

  • Hallo,


    ich hab ein Problem mit folgender SQL Abfrage:

    SQL
    1. SELECT u.userid, u.username, u.invisible, u.receivepm, u.lastactivity, uf.* FROM bb1_users u, bb1_groups g LEFT JOIN bb1_userfields uf ON (u.userid=uf.userid) WHERE u.groupid = g.groupid AND g.ismod=1 ORDER BY u.username ASC


    Und zwar bekomm ich die Fehlermeldung: mysql error: Unknown column 'u.userid' in 'on clause'


    Hab dann über Google rausgekriegt dass das irgendwas mit den JOIN's und der Umstellung von MySQL Version von 4 auf 5. Doch leider hab ich nur Grundkenntnisse in SQL und kein Ahnung von JOIN's und find auch irgendwie keine Tutorials wo dass ordentlich erklärt wird.


    Wär also super wenn mir irgendjemand sagen könnte was ich an der Abfrage ändern muss :)


    dallasstar

  • Probier mal

    SQL
    1. SELECT u.userid, u.username, u.invisible, u.receivepm, u.lastactivity, uf.*
    2. FROM bb1_users u
    3. JOIN bb1_groups g ON (u.groupid = g.groupid)
    4. LEFT JOIN bb1_userfields uf ON (u.userid=uf.userid)
    5. WHERE g.ismod=1
    6. ORDER BY u.username ASC


    Bei Deiner Abfrage versuchst Du die groups mit den userfields zu joinen

    Grüße vom Griechen,
    Cybergreek!

  • Hallo!


    wenn Du schon gleichlautende Schlüssel in deiner DB-Modell nutzt, solltest Du auch den "NATURAL JOIN" nutzen - der ist für diesen Zweck implementiert und wesentlich performanter als ein "normaler" JOIN.


    Beste Grüße,

    [FONT="Courier New"]...zur Zeit außer Betrieb...

  • Probier mal

    SQL
    1. SELECT u.userid, u.username, u.invisible, u.receivepm, u.lastactivity, uf.*
    2. FROM bb1_users u
    3. JOIN bb1_groups g ON (u.groupid = g.groupid)
    4. LEFT JOIN bb1_userfields uf ON (u.userid=uf.userid)
    5. WHERE g.ismod=1
    6. ORDER BY u.username ASC


    Bei Deiner Abfrage versuchst Du die groups mit den userfields zu joinen


    Habs gerade eingebaut, funktioniert. Danke nochmal :)


    Werd mich mal ein bisschen in das Thema einlesen, vielleicht krieg ich's ja mit dem NATURAL JOIN hin