Newsgroup: it.comp.lang.visual-basic
Titolo: [?] SQL con Join su 3 tabelle

Non me la cavo (sto sperimentando, confesso...)
Per semplicità:
Tabella RIGHE e campo NUMERO_DOC
Tabella TESTATE e campi NUMERO_DOC e COD_CLIENTE
Tabella CLIENTI e campi COD_CLIENTE e RAGIONE_SOCIALE
Ovviamente i campi NUMERO_DOC e COD_CLIENTE servono da "relazione"
Vorrei ottenere un recordset che riporta i campi:
RIGHE.NUMERO_DOC, TESTATE.COD_CLIENTE e CLIENTI.RAGIONE_SOCIALE
Se mi fermassi ai primi due farei:
Select
    RIGHE.NUMERO_DOC,
    TESTATE.COD_CLIENTE
From
    RIGHE INNER JOIN TESTATE
        ON RIGHE.NUMERO_DOC=TESTATE.NUMERO_DOC
Come posso, sintatticamente, aggiungere il Join che collega il campo
TESTATE.COD_CLIENTE col campo CLIENTI.COD_CLIENTE per ottenere nel recordset
anche il campo CLIENTI.RAGIONE_SOCIALE?
Grazie.

[Lupo = 
circa_LupoOrm...@libero.it
 in
c3t4o2$2cp79j$
1...@ID-174464.news.uni-berlin.de
] ha scritto:
Ecco...
Select
    RIGHE.NUMERO_DOC,
    TESTATE.COD_CLIENTE,
    CLIENTI.RAGIONE_SOCIALE
From
    RIGHE INNER JOIN
        (
            TESTATE INNER JOIN CLIENTI
            ON
                TESTATE.COD_CLIENTE=CLIENTI.COD_CLIENTE
        )
        ON
            RIGHE.NUMERO_DOC=TESTATE.NUMERO_DOC

 ha scritto nel messaggio
news:c3t4o2$2cp79j$1...@ID-174464.news.uni-berlin.de...

x Sql Server
-----------------------------------
 Select
     RIGHE.NUMERO_DOC,
     TESTATE.COD_CLIENTE,
     CLIENTI.RAGIONE_SOCIALE
 From
     RIGHE INNER JOIN TESTATE
         ON RIGHE.NUMERO_DOC=TESTATE.NUMERO_DOC
    INNER JOIN CLIENTI
        ON TESTATE.COD_CLIENTE =CLIENTI.COD_CLIENTE
-----------------------------------
x Access
-----------------------------------
 Select
     RIGHE.NUMERO_DOC,
     TESTATE.COD_CLIENTE,
     CLIENTI.RAGIONE_SOCIALE
 From
     (RIGHE INNER JOIN TESTATE
         ON RIGHE.NUMERO_DOC=TESTATE.NUMERO_DOC)
    INNER JOIN CLIENTI
        ON TESTATE.COD_CLIENTE =CLIENTI.COD_CLIENTE
-----------------------------------
 Ciao Giorgio

[giorgio rancati = 
circa_giorgio_No...@tiscali.it
 in
c3t6o8$js3$
1...@lacerta.tiscalinet.it
] ha scritto:
...
Molte grazie. Me le studio/provo ;-)


Ciao Lupo,
ho visto (troppo tardi) che ti sei già risposto da solo,  ovviamente la tua
soluzione va benissimo, essendo tutte INNER JOIN il prodotto non cambia.
Ciao Giorgio

 non cambia.
No, no. A di là del funzionamento, a occhio le tue mi sembrano più
leggibili, più logiche, sequenziali.
Grazie ancora.

Il 25/03/2004 0.13, Lupo scrisse:

Qui ci sono esempi molto chiari anche se utilizzano il dialetto ibm.
http://www-106.ibm.com/db2/library/techarticle/purcell/0112purcell.html
ciao
	maxx
-- 
NOSPAM: Rimuovere i trattini dallo username!
Cut hyphens from my username!

 x Access
Ho fatto delle prove ed č tutto ok. Mi pare di poter dedurre che Access (sia
con DAO che con ADO) pretende le parentesi, SQL Server (con ADO) no, ma
comunque non gli danno fastidio, quindi la sintassi con le parentesi vale
per entrambi. Smentite?

 
http://www-106.ibm.com/db2/library/techarticle/purcell/0112purcell.html
Preferizzato e Stampato. Grazie.

 
Cos'è?
Un link milanese? :)
"purcell"???
Ciao


Non direi che Access pretende le parentesi. Se generi la query in Access
mette le parentesi, ma se le togli la esegue lo stesso. Idem se lo fai via
codice.
Walker Boh

 se lo fai via codice.
Togliendo le parentesi (non dimentichiamo che sono due inner join) mi
segnala errore di sintassi nella From...

 
Io le uso sempre, anche perche' rendono leggermente piu' chiare le join.


 ha scritto nel messaggio
news:c3u5b4$2c73l7$1...@ID-174464.news.uni-berlin.de...

Ciao Lupo,
Hai dedotto bene, le parentesi non danno fastidio a Sql Server, Access con
piů di 2 JOIN le pretende  ma sono tanto scomode, con sei o sette JOIN c'č
da divertirsi.
Ciao Giorgio

 o sette JOIN c'è da divertirsi.
Sai com'è... abituato alle subqueries, delle parentesi "mi ci fò un baffo".
In ogni caso ( vive la difference ;-) ) per certi versi sono d'accordo con
emmexx nel post sotto: le parentesi spesso migliorano la leggibilità.
Ovviamente è questione di gusti.

 >> Ho fatto delle prove ed č tutto ok. Mi pare di poter dedurre che


 con un progetto adp.
Questo invece mi sconvolge. Dormirò lo stesso, ma cos'è adp?

 ha scritto nel messaggio
news:c3umkf$2bsnqs$1...@ID-174464.news.uni-berlin.de...
