INNER JOIN innestate

martedì 30 settembre 2003 - 12.50

pino Profilo | Newbie

Ciao a tutti,
ho un problema con delle select utilizzanti delle inner join innestate:
se scrivo ad esempio:
Select * from tab1 Inner Join tab2 On tab1.id=tab2.id
tutto funziona bene, se invece innetso due inner join, ad esempio:
Select * from tab1 Inner Join tab2 On tab1.id=tab2.id Inner Join tab3 On tab1.id=tab3.id
in esecuzione ottengo il seguente messaggio:
Errore di sintassi (operatore mancante) nell'espressione della query 'tab1.id=tab2.id Inner Join tab3 On tab1.id=tab3.id'.
Non riesco a capire quale possa essere l'operatore mancante da aggiungere.
Il database è scritto in dbf e utilizza il driver ODBC dBase.

C'è qualcuno che mi sa aiutare????
Grazie
Pino Serra

Brainkiller Profilo | Guru

Ciao Pino,
io nonostante sia ormai un bel po' di tempo che lavoro con i database devo ammettere che ho dei problemi con l'INNER JOIN, però ti dico come risolvo il problema. Io di solito con quasi qualunque base di dati faccio cosi. Apro Access, aggiungo le tabelle anche collegate per esempio visto che tu usi DBF tramite ODBC, e poi creo una nuova query visuale, aggiungo le mie tabelle, creo le join a mano con il mouse, poi vado in visualizzazione SQL e mi copio direttamente la mia query.
Io ho sempre risolto così egregiamente. Che ne pensi? Anche con SQL Server si può fare questa cosa.
Ciao

David De Giacomi

pino Profilo | Newbie

E' una buona idea.
Comunque, ho ricevuto la risposta che cercavo su un altro NG.
Select * from tab1 Inner Join (tab2 Inner Join tab3 On tab2.id=tab3.id ) On tab1.id=tab3.id
Questo schema permette di innestare qualunque numero di inner join.
Pino

Brainkiller Profilo | Guru

Certamente Pino,
è sufficiente conoscere esattamente la sintassi e raggruppare in sottoviste i risultati parziali nella query. Solo che come ti dicevo io faccio fatica a ricordarmi la sintassi e quindi mi appoggio semplicemnete a un Query Designer con cui è decisamente più facile ottenre lo stesso risultato :)
Ciao

David
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5