Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    14

    MySQL 2 left join sulla stessa tabella

    Ciao a tutto il forum,

    Ho un problema con una select. Ho 3 tabelle:
    TEMP1:
    campo ID (chiave promaria)
    campo ID2 (può essere NULL)
    campo ID3 (può essere NULL)
    campo descr

    TEMP2
    campo ID2
    campo descr

    TEMP3
    campo ID3
    campo descr

    Praticamente vorrei selezionare tutti i record della tabella TEMP1 che hanno un record correlato nella Tabella TEMP2 o nella Tabella TEMP3

    La select che mi ostino a scrivere è questa:

    Select * from TEMP1 left join TEMP2 on TEMP1.ID2=TEMP2.ID2 OR
    left join TEMP3 on TEMP1.ID3=TEMP3.ID3

    Questa select mi da un SACCOO di errori. Quale è il metodo giusto?

    Stefano

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    prova così:
    codice:
    SELECT DISTINCT temp1.* FROM temp1,temp2,temp3
    WHERE temp1.id2 = temp2.id2 OR temp1.id3 = temp3.id3
    think simple think ringo

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    14
    Grazie della celere risposta.

  4. #4
    Utente di HTML.it L'avatar di iox84
    Registrato dal
    May 2004
    Messaggi
    754
    Prova con una UNION:
    codice:
    (Select * from TEMP1 left join TEMP2 on TEMP1.ID2=TEMP2.ID2) UNION 
    (select * from TEMP1 left join TEMP3 on TEMP1.ID3=TEMP3.ID3);
    La fortuna e' cieca ma la sfiga ci vede benissimo
    Comprarselo o farselo di legno

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.