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
Selezionare un solo record di due uguali
giovedì 16 giugno 2011 - 10.57
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
gio 16 giu 2011 - 10:57
Ragazzi,
io ho una tabella dove all'interno ci sono dei record a volte record esattamente duplicati..ovviamente la chiave è un indice autoincrement....( non vi sto a dire il perchè di record doppi in quanto dovrei fare una spiegazione molto lunga) in pratica io con una select vorrei prendere solo un record se nel caso ci fossero diversi uguali...Io allora ho pensato ad un group by solo che di questi record solo il nome,cognome,datanascita e stato nascita sono uguali, in quanto gli altri campi potrebbe essere diversi quindi il group by non mi funziona perchè i campi non indicati devo essere per forza inclusi e quindi ecco che gli stessi record vengono presi tutti. ma c'è anche qualche altra funzione o metodo di sql che si può adottare?
Ciao e grazie
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
gio 16 giu 2011 - 17:18
>Ragazzi,
Ciao
>io ho una tabella dove all'interno ci sono dei record a volte
>record esattamente duplicati..ovviamente la chiave è un indice
>autoincrement....( non vi sto a dire il perchè di record doppi
>in quanto dovrei fare una spiegazione molto lunga) in pratica
>io con una select vorrei prendere solo un record se nel caso
>ci fossero diversi uguali...Io allora ho pensato ad un group
>by solo che di questi record solo il nome,cognome,datanascita
>e stato nascita sono uguali, in quanto gli altri campi potrebbe
>essere diversi quindi il group by non mi funziona perchè i campi
>non indicati devo essere per forza inclusi e quindi ecco che
>gli stessi record vengono presi tutti. ma c'è anche qualche altra
>funzione o metodo di sql che si può adottare?
indicativamente credo tu possa cancellare i duplicati utilizzando le CTE e le ranking functions, come spiego anche in questo post sul blog:
http://blogs.dotnethell.it/suxstellino/Funzioni-di-ranking-esempi-di-utilizzo__5419.aspx
però puoi sempre postare una struttura simile alla tua con i dati replicati in modo da aiutarti meglio nella scrittura di una query utile.
>Ciao e grazie
di nulla!
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
redevil1983
Profilo
| Newbie
6
messaggi | Data Invio:
gio 16 giu 2011 - 17:55
Se ho capito bene il tuo discorso .... usare la distinct non ti tornerebbe utile ?
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
ven 17 giu 2011 - 09:08
>io ho una tabella dove all'interno ci sono dei record a volte
>record esattamente duplicati..ovviamente la chiave è un indice
>autoincrement....( non vi sto a dire il perchè di record doppi
>in quanto dovrei fare una spiegazione molto lunga) in pratica
>io con una select vorrei prendere solo un record se nel caso
>ci fossero diversi uguali...Io allora ho pensato ad un group
>by solo che di questi record solo il nome,cognome,datanascita
>e stato nascita sono uguali, in quanto gli altri campi potrebbe
>essere diversi quindi il group by non mi funziona perchè i campi
>non indicati devo essere per forza inclusi e quindi ecco che
>gli stessi record vengono presi tutti.
Ciao Fabio,
Allora, prima dici che le righe "esattamente duplicate" poi poco sotto dici che differiscono diverse colonne.
Se vuoi ricevere supporto posta il solito esempio completo con il risultato che intendi ottenere con quei dati.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
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 !