Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1

    Problema con query (join)

    Ciao a tutti, ho un probelmino....
    Voglio estrarre tutti i valori evidenziati nei riquadri rossi,


    in modo da ottenere un risultato tipo questo


    Se ho capito bene, devo fare una query con una JOIN in modo da estrarre i dati dalle tre tabelle collegate tra di loro tramite chiavi esterne.
    Se voglio inoltre visualizzare tutti i record della Tabella1 anche nel caso in cui non ci siano corrispondenze con la relazione della Tabella2 (che nell’esempio sopra riportato è il secondo record restituito), devo utilizzare una LEFT OUTER JOIN .
    Ho provato in 1000 modi a fare una query funzionante, ma non c’è verso……qualcuno sa darmi una dritta?
    Grazie in anticipo!

  2. #2
    codice:
    SELECT articoli_rma.id_articoli_rma,articoli_rma.status_articolo,incoming.numero_incoming,fornitori.nome_fornitore FROM articoli_rma,incoming,fornitori WHERE ....
    Purtroppo bisogna imparare che il computer non sbaglia...fa solo quello che gli dici di fare

    www.netpolaris.it

  3. #3
    dove l'hai presa quella immagine?

  4. #4
    Magari è il suo DB.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  5. #5
    beh quello è ovvio

    no mi chiedevo se tutte le cose in rosso le avesse scritte lei/lui o magari qualcun'altro

    semplice curiosita

  6. #6
    Grazie Shagrat,
    ma nel momento in cui integro la query con le clausule WHERE (per esempio WHERE articoli_rma.rif_incoming = incoming.id_incoming ), il risultato non mi fa vedere i record della Tabella1 non "relazionati" con la Tabella2.....mentre io vorrei che fossero ugualmente mostrati

    P.S. I numeri in rosso li ho scritti sopra io...

  7. #7
    Utente di HTML.it L'avatar di Gioba66
    Registrato dal
    Jun 2002
    Messaggi
    2,189
    qualcosa del tipo


    select ..... from tabella1 T1 left join tabella2 T2 on campo1.T1 = campo1.T2 left join tabella3 T3 on t1.campox = t3.campox
    where .......
    Tutti vogliono parlare, nessuno sa ascoltare.

  8. #8
    Diciamo che mi sto avvicinando alla soluzione, anche se non ho chiara una cosa.
    Lasciando stare il mio esempio e analizzando la sintassi della JOIN:

    SELECT
    campi
    FROM
    prima_tabella
    LEFT OUTER JOIN
    seconda_tabella
    ON
    prima_tabella.chiave_primaria = seconda_tabella.chiave_esterna

    Non riesco a capire come inserire una seconda JOIN nella query.
    Per esempio se nella "prima_tabella" c'è un campo collegato ad una "terza_tabella" come chiave esterna, scrivendo nel seguente modo ovviamente non funziona...

    SELECT
    campi
    FROM
    prima_tabella
    LEFT OUTER JOIN
    seconda_tabella ,
    ON
    prima_tabella.chiave_primaria = seconda_tabella.chiave_esterna

    terza_tabella
    LEFT OUTER JOIN
    prima_tabella ,
    ON
    terza_tabella.chiave_primaria = prima_tabella.chiave_esterna

    WHERE.....

    Che mal di testa...

  9. #9
    SELECT
    campi
    FROM
    prima_tabella
    LEFT OUTER JOIN
    seconda_tabella
    ON
    prima_tabella.chiave_primaria = seconda_tabella.chiave_esterna

    LEFT OUTER JOIN
    terza_tabella
    ON
    terza_tabella.chiave_primaria = prima_tabella.chiave_esterna

    WHERE.....

    prova così

  10. #10
    Ciao,
    mi appare l'errore "Errore di sintassi (Operatore mancante)nell'espressione della query"......

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 © 2026 vBulletin Solutions, Inc. All rights reserved.