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

    [MySQL] Join di due tabelle

    ciao a tutti,

    In una query vorrei joinare una seconda tabella, solo che non sempre il campo di join è presente sulla seconda tabella e vorrei che venissero selezionati anche i record per i quali non c'è corrispondenza nella seconda tabella... è possibile fare questa cosa ?

    Ad es.

    Tabella 1: idmessaggio utente messaggio idicona
    Tabella 2: idicona icona

    Ecco ora nel caso in cui idicona nella tabella 1 = 0 l'intero record non mi viene restituito in quanto nella tabella2 non esiste nessun record con idicona = 0... c'è un modo per dare in tal caso un valore vuoto per far cmq visualizzare tra i record selezionati anche quelli che hanno idicona = 0 ?

    Ecco come faccio ottenendo il risultato che non vorrei:

    codice:
    SELECT tabella1.idmessaggio, tabella1.utente, tabella1.messaggio, tabella1.idicona, tabella2.icona FROM tabella1, tabella2 WHERE tabella1.idicona = tabella2.idicona;
    Grazie
    SGr33n

  2. #2
    codice:
    SELECT tabella1.idmessaggio, tabella1.utente, 
               tabella1.messaggio, tabella1.idicona, 
               tabella2.icona 
               FROM tabella1
               LEFT JOIN tabella2 ON tabella1.idicona = tabella2.idicona;
    Seleziona TUTTI i record della tabella citata in FROM e solo i record che hanno corrispondenza "idicona" nella tabella in LEFT JOIN.

    Per i record mancanti nella tabella2 rendera' un NULL.

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

  3. #3
    Grazie 10000 non conoscevo questa sintassi, ora la provo... tra l'altro sono anche stato sul sito di mysql per vedere la documentazione ma è cambiato tutto e non sono riuscito a trovarla :P

    Grazie ancora
    SGr33n

  4. #4
    Funziona perfettamente grazie ancora

    Solo una domanda... è pesante come query, potrebbe risultare faticosa effettuata su grosse tabelle ?
    SGr33n

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.