+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 8 su 8

Left Join multitabella

  1. #1
    Post
    5
    Like Inviati  
    0
    Like Ricevuti  
    0
    Salve a tutti, sono nuovo di mysql, e non riesco a creare una query adatta ad un problema che dovrei risolvere.
    Ho un database con varie tabelle (ovviamente :-)), ho la necessita di concatenare dei campi di una stessa tabella e fino qui nessun problema, il problema sorge quando devo creare una left join ad un altra tabella, mi spiego meglio con il codice della query creata:

    SELECT *, CONCAT(vetture.modello,' ',vetture.versione,' ',CAST(vetture.anno AS CHAR)) AS vettura FROM tblVettureLampadine AS vetture, tblMarcheAuto AS marche, tblLampadine AS lampadine WHERE (marche.id=vetture.marca AND vetture.marca=12) AND vetture.id=lampadine.vettura ORDER BY vetture.modello, vetture.anno

    Così la query funziona magnificamente, ma il problema però è nell'ultima join, non essendo una left join, mi restituisce solo i dati che hanno una corrispondenza, invece ho bisogno di visualizzarli comunque tutti e laddove non ci sia corrispondenza la valorizzi a null.... Ho provato un po di varianti ma nulla... Qualcuno che mi aiuta??? Grazie

  2. #2
    L'avatar di gibra
    gibra non è in linea Very Important Person
    Post
    6,235
    Like Inviati  
    20
    Like Ricevuti  
    11

  3. #3
    L'avatar di +m+
    +m+
    +m+ non è in linea Scribacchino
    Post
    922
    Like Inviati  
    0
    Like Ricevuti  
    0
    Non è che abbia capito benissimo, ma nulla ti vieta di fare un JOIN e un LEFT JOIN, o due LEFT JOIN etc
    SELECT qualcosa FROM   
    tblVettureLampadine
    JOIN   tblMarcheAuto ON tblvetturelampadine.marche=tblmarcheauto.marca
    LEFT   JOIN tbllampadine on  tblvetturelampadine.id=tbllampadine.vettura
    WHERE  vetture.marca=12
    order by ...
    

  4. #4
    Post
    5
    Like Inviati  
    0
    Like Ricevuti  
    0
    Quote Originariamente inviato da gibra Visualizza il messaggio
    Hai dimenticato qualcosa?

    Non c'è nessuna LEFT JOIN.
    Grazie per la risposta, so che non c'è nessuna left join, la questione è che senza una left join, quindi con una inner join normale, funziona, se invece cerco di inserire una left join mi da errore...

    Cristian

  5. #5
    Post
    5
    Like Inviati  
    0
    Like Ricevuti  
    0
    Quote Originariamente inviato da +m+ Visualizza il messaggio
    Non è che abbia capito benissimo, ma nulla ti vieta di fare un JOIN e un LEFT JOIN, o due LEFT JOIN etc
    SELECT qualcosa FROM   
    tblVettureLampadine
    JOIN   tblMarcheAuto ON tblvetturelampadine.marche=tblmarcheauto.marca
    LEFT   JOIN tbllampadine on  tblvetturelampadine.id=tbllampadine.vettura
    WHERE  vetture.marca=12
    order by ...
    
    Ti ringrazio per la risposta, il fatto è che non riesco ad inserire la left join nella query indicata.

  6. #6
    Post
    5
    Like Inviati  
    0
    Like Ricevuti  
    0
    Alla fine il problema era nella query, o meglio in come la gestisce c# o il provider di mysql per .net.
    Per uno strano motivo con più join non accetta l'order by finale.
    Ho comunque risolto in un altro modo....

    Grazie

  7. #7
    L'avatar di sistemista
    sistemista non è in linea Topo di biblioteca
    Post
    2,874
    Like Inviati  
    9
    Like Ricevuti  
    2
    sarebbe doveroso da parte tua postare la soluzione per i posteri.
    ℹ️ Leggi di più su sistemista ...

  8. #8
    Post
    5
    Like Inviati  
    0
    Like Ricevuti  
    0
    Mi scuso, non ho postato la soluzione inquanto non ho cambiato nulla, semplicemente ho tolto Order By alla fine della mia query...
    Resto comunque a disposizione per eventuali richieste d' aiuto

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Query con left join multipli
    Da hayabusa_65 nel forum Microsoft Access
    Risposte: 1
    Ultimo Post: 12-03-2016, 09:10
  2. query con left JOIN?
    Da fabietto10 nel forum Microsoft Access
    Risposte: 16
    Ultimo Post: 15-09-2014, 09:24
  3. Risolto: Eliminare record dopo una Query Left join
    Da sistemista nel forum Visual Basic .Net
    Risposte: 15
    Ultimo Post: 29-12-2011, 10:09
  4. Gestione risultati LEFT Join
    Da hayabusa_65 nel forum Microsoft Access
    Risposte: 3
    Ultimo Post: 28-10-2011, 18:16
  5. Left join
    Da sly185 nel forum Visual Basic 6
    Risposte: 3
    Ultimo Post: 19-11-2004, 14:30