Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    12

    [Mysql] Incrociare dati 2 tabelle

    Ciao, vi chiedo l'aiuto per questo problema. Probabilmente mi sto perdendo in un bicchiere d'acqua.
    Ho due tabelle così composte:

    codice:
    Tabella UTENTI:
    
    id_utente     |   nome_utente
    
    Tabella CONSULTAZIONI
    
    id_consultazione    |   id_utente   |   id_utente_consultato
    Dovrei incrociare i dati tramite una query in modo da avere:

    codice:
    id_consultazione  |   utente  |  utente_consultato
    In pratica devo inserire il nome dell'utente al posto di id_utente e id_consultato.

    Se provo con un join riesco a sostituire solo uno dei 2 campi (ovviamente).
    Mi sto perdendo per poco probabilmente....

    codice:
    SELECT consultazioni.id_consultazione, utenti.nome_utente FROM `consultazioni` 
    inner join utenti on consultazioni.id_utente = utenti.id_utente
    Ovviamente così non va... spero di essermi spiegato.

    Grazie in anticipo.

  2. #2
    2 ne chiedi, 2 te ne restituisce...

    SELECT consultazioni.id_consultazione, utenti.nome_utente FROM ...

    aggiungi le altre colonne che vuoi vedere

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    12
    Forse non mi sono spiegato bene, faccio un esempio:

    Tabella UTENTI

    id_utente | nome utente
    ----------------------------
    1 | pippo
    2 | pluto
    3 | mario


    Tabella Consultazioni

    id | id_consultante | id_consultato
    --------------------------------------------------
    1 | 2 | 3
    2 | 3 | 1

    IO vorrei ottenere:

    id | consultante | consultato
    ----------------------------------------------
    1 | pluto | mario
    2 | mario | pippo


    Spero di essermi spiegato meglio, vi ringrazio in anticipo.

  4. #4
    e con la tua query invece cosa ottieni?

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    12
    ottengo

    id | consultante | consultato
    ----------------------------------------------
    1 | pluto | 3
    2 | mario | 1

    non capisco come riempire anche il consultato con il nome

  6. #6
    ok, capito. devi rimettere nuovamente in join la tabella utenti (con un alias), facendo la join tra consultazioni.id_consultato e utenti.id_utente

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    12
    Esatto! E come faccio a creare un alias della tabella?

  8. #8
    ti faccio un esempio

    SELECT U.nome_utente FROM utenti U

    U è l'alias

  9. #9
    Ciao ,
    prova così:

    SELECT consultazioni.id_consultazione, utenti.nome_utente
    FROM consultazioni a, utenti b, utenti c
    where a.id_utente=b.id_utente
    and a.id_utente_consultato=c.id_utente

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    12
    Ho risolto, 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.