Ciao,
i campi da visualizzare devono essere separati da virgola. Nel tuo caso tra "select distinct (indirizzo)" e "Nome, Cognome, ...) mancando la virgola viene preso il campo indirizzo, mentre "Nome" viene utilizzato come alias, cioè come "titolo" personalizzato
della colonna. Ecco perchè hai il campo Nome con i dati degli indirizzi!
Per eliminare le righe doppie ti è sufficiente scrivere:
select distinct
Nome,
Cognome,
Indirizzo,
IdNazione,
Nazione
from
dbo.clienti
inner join
dbo.nazioni on clienti.id_Naz = Nazioni.Id_Naz
Where
dbo.clienti.E_mail is not NULL
In questo modo vengono eliminate le righe duplicate dal set di risultati, cioè quelle con tutti i campi identici.
Puoi leggerti la sintassi completa del comando
SELECT nei Books On Line (BOL), dove trovi anche diversi esempi.
Nell'esempio qui sopra ho anche modificato la join tra le tabelle: la sintassi che hai usato tu (FROM t1,t2 WHERE t1.campo = t2.campo) fa parte dello standard SQL-89, ormai deprecato, più complicato da leggere e che in certi casi produce risultati
errati (ti suggerisco
questo articolo di Aaron Bertrand che parla di questo argomento).
HTH
Danilo Dominici MCP MCDBA MCITP MCSE MCAD Questo post è fornito "così com'è". Non conferisce garanzie o diritti di alcun tipo. Ricorda di usare la funzione "segna come risposta" per i post che ti hanno aiutato a risolvere il problema
e "deseleziona come risposta" quando le risposte segnate non sono effettivamente utili. Questo è particolarmente utile per altri utenti che leggono il thread, alla ricerca di soluzioni a problemi similari. ENG: This posting is provided "AS IS"
with no warranties, and confers no rights. Please remember to click "Mark as Answer" on the post that helps you, and to click "Unmark as Answer" if a marked post does not actually answer your question. This can be beneficial to other community
members reading the thread.