• User Attivo

    Query left outer join

    Ciao a tutti, ultimamente sto chiedendo dele cose di frequente.

    ho una query ceh funziona...
    [php]
    Select topics.*, forums.title, us1.username, us2.username
    From topics Inner Join
    forums On forums.id = topics.id_forum,
    users us1, users us2
    Where topics.id_forum = 1
    and us1.id = topics.creator_topic and
    us2.id = topics.luser_topic
    [/php]******tabella topics


    • id
    • creator_topic (id dell'utente che ha creato il topic)
    • luser_topic (id dell'utente che ha risposto per ultimo)
    • id_forum (id del forum)Tabella forum
    • id
    • title** Tabella users
      **
    • id
    • usernamecon quella query mi tira fuori i topics che hanno sia creator_topic che luser_topic ma luser_topic se nessuno risponde è vuoto, mi hanno detto che devo fare un left outer join solo che non so come fare.

    mi potete aiutare?


  • User Attivo

    La struttura di una query LEFT OUTER JOIN è questa:

    SELECT
    campi
    FROM
    prima_tabella
    LEFT OUTER JOIN
    seconda_tabella
    ON
    prima_tabella.chiave_primaria = seconda_tabella.chiave_esterna

    😄


  • User Attivo

    ce l'ho fatta, mi ero dimenticato di postare 😄

    [php]
    Select topics.*, forums.title, us1.username As creator, us2.username As luser
    From topics Inner Join
    forums On forums.id = topics.id_forum Left Outer Join
    users us2 On us2.id = topics.luser_topic, users us1
    Where topics.id_forum = 3 And us1.id = topics.creator_topic
    [/php]