PDA

View Full Version : [SQL access 03]join tra tabelle


-MiStO-
31-07-2007, 13:15
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

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)=[?]));

campi chiave id e data ;a b c colonne generiche
praticamente join tra tab1 e tab2 e risultato in join con tab3...ma mi dice query troppo complessa :mbe: :confused:
grazie in anticipo per l'aiuto :D

akyra
01-08-2007, 08:58
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ì:


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)=[?]));