SQL - query con distinct...

venerdì 20 giugno 2008 - 11.38

angie81 Profilo | Junior Member

ciao

ho una tabella strutturata così

ID | CAMPO1 | CAMPO2 | CAMPOX
1 | A | B | 12
2 | A | B | 13
3 | C | D | 14
4 | C | D | 15
5 | E | F | 16

vorrei estrarre (per creare una vista) solo i record con coppie di campi CAMPO1 e CAMPO2 univoci, assieme però al proprio ID e cioè:

ID | CAMPO1 | CAMPO2
1 | A | B
3 | C | D
5 | E | F

come devo impostare la select?

ho provato con una DISTINCT, ma non riesco a portarmi dietro anche l'ID

Dainesi Profilo | Senior Member

Che ne dici di una "SELECT FIRST(ID) AS fID, CAMPO1, CAMPO2 FROM TABLE GROUP BY CAMPO1, CAMPO2" ?

angie81 Profilo | Junior Member

avevo già provato con FIRST.. ma mi riporta errore..
io utilizzo SQL 2000...

alx_81 Profilo | Guru

>ciao
Ciao!

>ID | CAMPO1 | CAMPO2
>1 | A | B
>3 | C | D
>5 | E | F
>
>come devo impostare la select?
con la Distinct "schiacci" il record dove è identico, ma se ricavi anche l'id, che per natura è univoco, non riuscirai ad ottenere il risultato voluto.
Di conseguenza, devi decidere quale criterio usare per estrarre l'id. Ad esempio, ipotizzando come requisito il primo ID fra i record che vuoi raggruppare, potresti scrivere la query così:

SELECT MIN(ID) As IDMinimo , Campo1 , Campo2 FROM Tabella GROUP BY Campo1 , Campo2

Ciao!
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

angie81 Profilo | Junior Member

grazie mille!!!!!!!!!

alx_81 Profilo | Guru

>grazie mille!!!!!!!!!
di nulla!
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
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 !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5