Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    241

    left join su 2 di 3 tabelle nella query

    Vorrei sostituire la query in modo che mi dia tutti i record della tabella trld e so che serve una
    left join ma nell'esempio che ho sul libro in ballo ci sono due tabelle, io invece ne ho tre...

    $query_ld="select trld.i_ld,trld.name,trld.surname,trld.country,trld .nick,url.home_page
    from trld,website,url
    where trld.i_ld=website.i_ld and website.i_hp=url.i_hp
    order by trld.name,trld.surname,trld.nick";

    credevo di risolvere sostituendo con

    $query_ld="select trld.i_ld,trld.name,trld.surname,trld.country,trld .nick,url.home_page
    from trld left join website,url
    on trld.i_ld=website.i_ld
    where website.i_hp=url.i_hp
    order by trld.name,trld.surname,trld.nick";

    e invece mi da lo stesso risultato tralasciando i record di trld che non trovano abbinamento in website

    le tre tabelle in questione hanno il seguente tracciato record

    trld:
    ________________________________
    | i_ld | name | surname | country | nick |
    ---------------------------------------------------------

    website:
    __________
    | i_ld | i_hp |
    ------------------

    url:
    ________________
    | i_hp | home_page |
    -----------------------------

    P.S.: non è possibile annidare una query nella parte from anzichè nella parte where?

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    come vorresti gestire le relazioni fra le 3 tabelle?? nel senso, quali criteri di corrispondenza dovresti usare??
    think simple think ringo

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    241
    corrispondenza nel campo i_ld tra trld e website relazione 1:N

    corrispondenza nel campo i_hp tra website e url relazione N:1

    i_ld per trld e i_hp per url sono chiavi primarie

    quello che volevo ottenere era in pratica una lista di persone che
    comprendessero anche quelle che non hanno un sito web associato

  4. #4
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    prova una cosa di qst tipo:
    "SELECT trld.name,trld.i_ld,url.home_page FROM trld
    LEFT JOIN website ON website.i_ld = trld.i_ld
    LEFT JOIN url ON website.i_hp = url.i_hp;"
    think simple think ringo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.