PDA

Visualizza la versione completa : [SQL]: Unire due tabelle relazionate con un'altra tabella


Akira86
02-06-2006, 19:49
Ciao.

Io ho una tabella A che e in relazione :
- uno a molti con la tabella B
- uno a uno con la tabella C

come faccio ad unirle tutte e tre?

per unire A con B faccio un normale inner join

SELECT *
FROM A INNER JOIN B ON A.CodideA=B.CodiceB

ma se devo unire anche i campi di C come faccio?

UNION non posso farlo perchŔ i campi di A sono diversi da quelli di C e poi aggiungendo quelli di B (con il JOIN) non potranno essere uguali a quelli di C.

Grazie Mille..

alka
03-06-2006, 03:53
Ti basta aggiungere un'altra INNER JOIN.

Seguendo il tuo esempio:



SELECT * FROM A
INNER JOIN B ON A.CodideA = B.CodiceB
INNER JOIN C ON B.CodiceB = C.CodiceC


Ciao! :ciauz:

Akira86
03-06-2006, 14:58
umm.. Pero B e C non le ho in relazione tra di loro.

Posto il problema reale che ho :

Devo con una unica query sapere i guasti, gli interventi e i dati della riconsegna di una riparazione.
Facendo cosi :



SELECT *
FROM RICONSEGNE INNER JOIN (RIPARAZIONI INNER JOIN (NOTE_GUASTI INNER JOIN GUASTI ON GUASTI.guCodGuasto=NOTE_GUASTI.ngguCodGuasto) ON NOTE_GUASTI.ngrpCodRiparazione=RIPARAZIONI.rpCodRi parazione) ON RICONSEGNE.rcCodRiconsegna=RIPARAZIONI.rprcCodRico nsegna;


Riesco a trovare i dati di riconsegna, i dati della riparazione e i dati dei suoi guasti ma per sapere anche i dati degli interventi?

Volendo paragonare le mie entitÓ con A, B e C ho tralasciato delle entitÓ forse per quello non mi sono spiegato bene e per questo mi scuso.

Grazie e Ciao :ciauz:

Loading