Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Problema visualizzazione campo in una query
mercoledì 20 giugno 2007 - 15.47
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
CLARABELLA
Profilo
| Newbie
2
messaggi | Data Invio:
mer 20 giu 2007 - 15:47
ciao a tutti,
lavoro da anni con le query di access e non mi si è mai verificato un problema simile:
ho fatto un join tra due tabelle e la query mi restituiscei campi di una delle due tabelle sempre vuoti. Mi spiego meglio:
tabella codici con
campo1=codiceSupporto (tipo testo)
campo2=numeroSupporto
tabella rimborsi con
campo3=codiceSupporto (tipo testo)
campo4=importo
la query è quindi
SELECT CODICI.*, Rimborsi.campo4
FROM Rimborsi RIGHT JOIN codici ON Rimborsi.campo3 = codici.campo1;
il risultato della query dà Rimborsi.campo4 sempre vuoto, anche se i campi della tabella sono tutti valorizzati, e CODICI.* valorizzati
se imposto il join a LEFT il risultato della query dà i campi CODICI.* sempre vuoti, anche se i campi della tabella sono tutti valorizzati e Rimborsi.campo4 valorizzato
AIUTO!!! ci sto uscendo matta
Rimborsi.campo4 è precisione doppia
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
mer 20 giu 2007 - 15:57
>FROM Rimborsi RIGHT JOIN codici ON Rimborsi.campo3 = codici.campo1;
>
>il risultato della query dà Rimborsi.campo4 sempre vuoto, anche
>se i campi della tabella sono tutti valorizzati, e CODICI.* valorizzati
Quella outer join restituisce tutte le righe della tabella codici e solo le righe di Rimborsi che soddisfano la condizione Rimborsi.campo3 = codici.campo1; nel caso non esista alcuna corrispondenza, la colonna Rimborsi.campo4 verrà valorizzata a NULL.
>se imposto il join a LEFT il risultato della query dà i campi
>CODICI.* sempre vuoti, anche se i campi della tabella sono tutti
>valorizzati e Rimborsi.campo4 valorizzato
In qesto caso accade esattamente il contrario: restituisci tutte le righe della tabella Rimborsi e solo le righe di Codici che soddisfano la stessa condizione; nel caso non esista alcuna corrispondenza, le colonne CODICI.* saranno valorizzate a NULL.
In soldoni le due tabelle non hanno alcuna corrispondenza per la condizione Rimborsi.campo3 = codici.campo1.
Se fai una INNER JOIN non dovrebbe essere restituita alcuna riga.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
CLARABELLA
Profilo
| Newbie
2
messaggi | Data Invio:
mer 20 giu 2007 - 16:10
è VERO!!!
GRAZIE, ORA SONO IN GRADO DI RISOLVERE
CIAO
Torna su
Stanze Forum
Elenco Threads
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 !