Problema di join

di il
1 risposte

Problema di join

Ho tre tabelle

A, B e C

A:

ACol1 numerica - key
ACol2 numerica - key
ACol3 numerica

B

BCol1 numerica - key
BCol2 numerica - key
BCol3 numerica


C

CCol1 numerica - key
CCol2 numerica - key
CCol3 numerica

La query mi deve dare tutti i record di B non presenti in A. Fin qui è una LEFT JOIN. Ma i record
di B devono risultare accoppiati con C. Ossia il risultato deve essere tutte le colonne di B + quelle di C abbinate su BCol1-CCol1 e BCol2-CCol2, per i record di B non presenti in A
Qualcuno sa come si scrive?

1 Risposte

  • Re: Problema di join

    Prova così:

    select * from B, C
    where B.Col1 = C.Col1
    and B.Col2 = C.Col2
    and B.Col3 = C.Col3
    and (B.Col1, B.Col2, B.Col3) not in (select Col1, Col2, Col3 from A);

    Ciao
Devi accedere o registrarti per scrivere nel forum
1 risposte