Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    170

    [MySql] Differenziare risultati join tra tabelle

    Ciao a tutti, premetto che non sapevo se metterlo in php oppure qui...
    ho tre tabelle tipo queste che brevemente vi riassumo qui sotto


    Tabella pro

    P_ID | COGNOME
    -----------------
    1 | Pinco
    -----------------
    2 | Tizio
    -----------------
    3 | Caio
    -----------------



    Tabella logbnb

    ID | P_ACQ | P_VEN | OG_ID
    -----------------------------
    1 | 1 | 2 | 1
    -----------------------------
    2 | 1 | 3 | 3
    -----------------------------
    3 | 2 | 3 | 2
    -----------------------------



    Tabella oggetti
    OG_ ID | DESCRIZIONE |
    -----------------------------
    1 | Ambarabà cicci coccò
    -----------------------------
    2 | Ciccì coccò
    -----------------------------
    3 | Tre galline sul comò
    -----------------------------


    Per estrarne i dati ho fatto questa inner join


    Codice PHP:
    $list5=mysql_query('SELECT logbnb.*, oggetti.*, a.COGNOME, b.COGNOME FROM logbnb 
        INNER JOIN pro as a ON logbnb.P_ACQ = a.P_ID
        INNER JOIN pro as b ON logbnb.P_VEN = b.P_ID
        INNER JOIN oggetti ON logbnb.OG_ID = oggetti.OG_ID
     ORDER BY logbnb.CR_DATA DESC LIMIT 5 '
    )or die ("Query fallita: ".mysql_error()); 
    P_ACQ della tabella logbnb sarebbe il nome dell'acquirente che vado a trovare nella tabella pro per mezzo della prima join.

    P_VEN è il nome del venditore che vado sempre a prendere nella tabella pro.

    OG_ID è l'id dell'oggetto venduto.

    La query funziona tranne per il fatto che, ovviamente, quando vado a stampare (con php echo $lis['COGNOME']) il campo cognome della tabella pro mi da sempre il risultato della prima inner join.
    Esiste un modo per differenziare - e quindi stampare in "posti differenti" - i dati presi con la prima inner join dalla seconda?
    Grazie in anticipo

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Usa un alias di campo per distinguerli

    a.COGNOME, b.COGNOME as cognome2

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    170
    -.- hai ragione... pensavo più che altro all'impostazione della query in un altro modo.
    Grazie

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.