Ciao a tutti,
devo eseguire una select in una pagina prelevando dati da diverse tabelle relazionate tra loro.

Uso questo codice:

select struttura from strutture where IDstruttura IN (select IDstruttura from rifstruttura where IDtrattamento = '"&Cint(IDtratt)&"') AND IDstruttura IN (select IDstrutture from rifstruttureesterne where IDtrattamento = '"&Cint(IDtratt)&"')

Ma ogni volta restituisce errore di sintassi. Ho controllato il codice e sembra corretto, voi sapreste darmi una mano? E' da qualche giorno che ci picchio la testa


Le tabelle risultano in questo modo:


Tabella "tabella1_2"
IDstrumenti = chiave unica
IDtrattamento
.
.
.
.

Tabella "rifstrutture"
IDrif = chiave unica
IDstruttura
IDtrattamento

Tabella "rifstruttureesterne"
IDrifesterna = chiave unica
IDstrutture
IDtrattamento

Tabella "strutture"
IDstruttura = chiave unica
Nome
.
.
.
.

Tabella "rifsede"
IDrif = chiave unica
IDstrumenti
IDstruttura


Bene, dovrei estrapolare i dati "rifstrutture.IDstruttura" e "rifstruttureesterne.IDstrutture" in base a "IDtrattamento" di "tabella1_2" selezionato in precedenza dall'utente. Una volta estrapolati "IDstruttura" e "IDstrutture" devo utilizzarli per ricavare "Nome" dalla tabella "Strutture" e flaggarlo in base a "IDstruttura" della tabella rifsede, ovvero flaggare quei dati estrapolati dalla tabella "Strutture" il cui campo "IDstruttura" coincide con "IDstruttura" della tabella "rifsede".


Ok, è un po incasinato ma leggendolo attentamente si dovrebbe capire il significato.

Spero che almeno la select sia corretta al mio scopo. Voi cosa mi suggerite? Se la select soprariportata è corretta, perchè mi restituisce errore?

Grazie