Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Problema estrazione dati con JOIN tra più tabelle

    Ciao a tutti! Non riesco a estrarre tutti i dati presenti in sei tabelle. Di queste, solo "utenti" è completa; l'inserimento dei dati nelle altre è facoltativo. Così, se ho ben capito, dovrei usare LEFT JOIN per avere i dati di "utenti" e i dati delle atre tabelle che non hanno corrispondenza.
    Perchè, secondo voi, invece lo script seguente mi estrae i dati tranne username, a meno che non sia presente in tutte le tabelle? Non dovrebbe estrarmelo sempre, visto che è sempre presente in "utenti"?

    Codice PHP:
    $result=mysql_query("SELECT *
    FROM utenti
    LEFT JOIN settore USING (username)
    LEFT JOIN ricerca USING (username)
    LEFT JOIN posizione USING (username)
    LEFT JOIN info USING (username)
    LEFT JOIN enti USING (username)
    ORDER BY utenti.username ASC"
    );


    while (
    $row mysql_fetch_array($result))
    {

    $nome=$row[nome];
    $cognome=$row[cognome];
    $soggetto=$row[username];
    $viale=$row[via];
    $regione=$row[regione];
    Echo 
    "$nome$cognome$soggetto$viale$regione
    "
    ;

    Antropologia? Sì, grazie!
    http://www.antrocom.org

  2. #2
    se hai piu' campi con lo stesso nome e non utilizzi l'alias per il nome campo succede che l'ultimo con lo stesso nome sovrascrive i precedenti. Nel tuo caso TUTTI i record di utenti verranno estratti mentre invece per i record delle altre tabelle solo quelli che rispondono alla relazione (username) verranno utilizzati e per quelli mancanti verra' reso NULL.

    Siccome i campi legati alla tabella utenti vengono richiesti per primi ecco che in caso di NULL di verra' azzerato il contenuto del campo con lo stesso nome.

    Prova a fare:

    $result=mysql_query("SELECT *, utenti.username
    from....

    in questo modo dovresti sovrascrivere i risultati del campo username delle tabelle in left join con quelli della tabella utenti

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Mamma mia hai ragione da vendere! Come ho fatto a non pensarci?
    Grazie per l'aiuto, ho già implementato il tuo consiglio!
    Antropologia? Sì, grazie!
    http://www.antrocom.org

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.