|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2005
Città: Trieste
Messaggi: 2285
|
[SQL access 03]join tra tabelle
ciao a tutti
ho un problemino con access 2003:non riesco a fare un join(inner) tra 3 o più tabelle il codice sql semplice semplice che utilizzo è questo Codice:
SELECT tab1.a, tab2.b, tab3.c, tab1.data, tab1.id FROM (tab1 INNER JOIN tab2 ON (tab1.data = tab2.Data AND (tab1 .id = tab2.id)) INNER JOIN tab3 ON (tab1.Data= tab3.data) AND (tab1.id = tab3.id) WHERE (((tab1.data)=[?])); praticamente join tra tab1 e tab2 e risultato in join con tab3...ma mi dice query troppo complessa grazie in anticipo per l'aiuto
__________________
neo mini v2 / asus strix z490i / 10600k@? / uh12s / rx6700xt / 32gb ddr4@3200 / sandisk 250 + asenno 1tb / lenovo g34w
trattative concluse : tante... |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Feb 2004
Città: TREVISO
Messaggi: 902
|
il problema è nella clausola "WHERE"
immagino che tu voglia inserire un valore quando viene eseguita la suddetta query, ma il valore che inserisci per il campo [?] con cui confrontare il campo tab1.data è di tipo stringa. mentre quest'ultimo è di tipo data...quindi devi convertire in stringa il campo tab1.data....insomma fai così: Codice:
SELECT tab1.a, tab2.b, tab3.c, tab1.data, tab1.id FROM (tab1 INNER JOIN tab2 ON (tab1.data = tab2.Data AND (tab1.id = tab2.id))) INNER JOIN tab3 ON (tab1.Data = tab3.data) AND (tab1.id = tab3.id) WHERE ((cstr(tab1.data)=[?]));
__________________
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:22.



















