Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439

    [MySql] doppia inner join sulla stessa tabella...

    ...si può fare?
    una doppia inner join su una stessa tabella non avrebbe senso lo so,
    però a me servirebbe fare una cosa:

    io ho:
    codice:
    tabella_1
      |_ id
      |_ tab2_id_in
      |_ tab2_id_out
    
    tabella_2
      |_ id
      |_ nome
    se io selezionassi una riga dalla tabella 1 con il where,
    e poi volessi trovare i corrispettivi nomi nella tabella2 devo per forza fare query separate oppure posso tirare subito fuori i risultati?

    esempio tradotto:

    select tab2_id_in, tab2_id_out from tabella_1 where id = 55;
    select nome from tabella_2 where id = [risultato query1, riga tab2_id_in]
    select nome from tabella_2 where id = [risultato query1, riga tab2_id_out]

    spero di essermi spiegato,
    queste tre query si possono tradurre in una sola?
    わさび

  2. #2
    dovrebbe essere cosi':

    codice:
    select 
    a.tab2_id_in, b.nome, 
    a.tab2_id_out, c.nome
    from tab1 a
    left join tab2 b on a.tab2_id_in = b.id
    left join tab2 c on a.tab2_id_out = c.id
    where a.id = 55
    puoi riprendere la tabella quante volte ti serve, basta cambiare l'alias.

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

  3. #3
    Utente di HTML.it L'avatar di Trinità76
    Registrato dal
    Jan 2002
    Messaggi
    1,439
    Originariamente inviato da piero.mac
    dovrebbe essere cosi':

    codice:
    select 
    a.tab2_id_in, b.nome, 
    a.tab2_id_out, c.nome
    from tab1 a
    left join tab2 b on a.tab2_id_in = b.id
    left join tab2 c on a.tab2_id_out = c.id
    where a.id = 55
    puoi riprendere la tabella quante volte ti serve, basta cambiare l'alias.
    Funziona, 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.