Query, Join, unknown column

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

  • Query, Join, unknown column

    hallo forum,
    bekomme bei folgendem query die fehlermeldung:"unknowm colum usr_id in on clause''.

    PHP-Code:
    SELECT SQL_CALC_FOUND_ROWS DISTINCT
        a
    .*,
        
    b.*,
        
    c.*,
        IF(
    c.usr_id,1,0) as online
    FROM
        user_data 
    as ,
        
    user_search as b
    LEFT OUTER JOIN
        user_sessions 
    as c
    ON
        a
    .usr_id=c.usr_id
    WHERE
        a
    .usr_login LIKE  '%xyz%'  
    AND
        
    b.opt_id='8'
    ORDER BY 
        online DESC
    a.usr_img ASCa.usr_login ASC 
    die spalte "usr_id" ist vorhanden. kann mir bitte wer nen "schubs" geben.
    danke,
    b.
    Zuletzt geändert von bastian; 23.02.2010, 15:57. Grund: tippfehler

  • #2
    Hallo,

    den Alias a gibt es nach außen nicht, weil der Theta-Style-Join (,) stärker bindet als das as, also ist der Cross Join von user_data und user_search bereits gejoint, wenn das Alias b dafür definiert wird.

    Wieder ein Grund, warum man keine Theta-Style-Joins verwenden sollte.

    Edit: weil ich grad selbst nicht verstehe, was ich da geschrieben habe, hier mal das, was passiert mit Klammern erläutert:

    Code:
    ... 
    FROM
        (
            (user_data as a) ,
            user_search
        ) as b
    LEFT OUTER JOIN
        user_sessions as c
    ...
    Gruß,

    Amica
    Zuletzt geändert von AmicaNoctis; 23.02.2010, 16:02.
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3


      teste ich sofort aus und bin dankbar für deinen schub(s).

      öhm, mal ohne nachzudenken geragt:
      warum dann nicht das Alias A durch ein t1 ersetzen?

      oder gehts da um was anders?
      b.
      Zuletzt geändert von AmicaNoctis; 23.02.2010, 16:11. Grund: Doppelpost

      Kommentar


      • #4
        Nimm "INNER JOIN" statt ","
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          nehme ich, wenn du mir (bitte) sagen würdest WIE bzw anstelle von WAS.
          "," <- weiss ich gerade nichts mit anzufangen.

          Kommentar


          • #6
            Na der Komma-Operator hier: "user_data as a[COLOR="Red"],[/COLOR] user_search as b"
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Kommentar


            • #7
              bist'n schatz, danke!

              Kommentar

              Lädt...
              X