Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043

    altro problema con altra JOIN

    ciao a tutti,
    nel db ho questo record:

    TABELLA A_LOGIN
    id_login..............id_login_ins..............id _anagrafica
    4...............................0.................. .................18
    7...............................4...................................67

    TABELLA A_ANAGRAFICA
    id_anagrafica...................cognome
    18..................................NESTORE
    67..................................FRANCESCHINI

    la query è questa:
    Codice PHP:
    $sql_ins2 "SELECT a_login.*, a_anagrafica.* 
                FROM a_login 
                INNER JOIN a_login AS a_login2
                ON a_login.id_login_ins = a_login2.id_login

                LEFT JOIN a_anagrafica
                ON a_login.id_anagrafica = a_anagrafica.id_anagrafica 
                WHERE a_anagrafica.id_anagrafica = '"
    .$utente."'";
    $result_ins2 mysql_query($sql_ins2,$conn) or die (mysql_error());
    $row_ins2 =mysql_fetch_array($result_ins2); 
    Codice PHP:
    echo  "
    COGNOME = "
    .$row_ins2['cognome']; 
    perchè mi stampa il cognome FRANCESCHINI invece di NESTORE? Io vorrei che mi stampasse NESTORE.


    tieni conto però che nella variabile $utente è memorizzato il numero 67 di FRANCESCHINI

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    398
    La prima join ti fa casino unisci una tabella a se stessa cavala.


    Andrea

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    scusa non ho capito, che vuol dire: "unisci una tabella a se stessa cavala" ?

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    398
    La prima JOIN che fai ha poco senso.
    Fai solo la seconda

    Codice PHP:

    $sql_ins2 
    "SELECT a_login.*, a_anagrafica.*
                FROM a_login LEFT JOIN a_anagrafica
                ON a_login.id_anagrafica = a_anagrafica.id_anagrafica
                WHERE a_anagrafica.id_anagrafica = '"
    .$utente."'"

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    niente, continua a stamparmi il cognome FRANCESCHINI invece di NESTORE

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    CI SONO RIUSCITOOOOOO!!!!!! :quote: :quote: :quote:
    si fa così:

    Codice PHP:
    "SELECT a_login2.*, a_anagrafica2.* 
                FROM (a_login
                INNER JOIN a_anagrafica
                ON (a_login.id_anagrafica = a_anagrafica.id_anagrafica)) 

                INNER JOIN a_login AS a_login2 
                ON (a_login.id_login_ins = a_login2.id_login) 

                INNER JOIN a_anagrafica AS a_anagrafica2 
                ON (a_login2.id_anagrafica = a_anagrafica2.id_anagrafica) 

                WHERE a_anagrafica.id_anagrafica = '"
    .$utente."'"

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    398
    Io non ho capito cosa stai cercando di fare.

    Hai 2 tabelle relazionate tramite un id e per fisualizzare i dati fai 3 join.

    Ne devi fare 1.


    Andrea

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    ho dovuto fare così perchè sia

    ID_LOGIN

    che

    ID_LOGIN_INS

    si trovano nella stessa tabella

    A_LOGIN

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    398
    Se spiegassi le tabelle forse sarebbe piu facile capire il resto


    Andrea

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Originariamente inviato da andreamk
    Se spiegassi le tabelle forse sarebbe piu facile capire il resto
    L'ho scritta all'inizio di questa discussione la spiegazione sulle tabelle

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.