Registros únicos

26/05/2007 - 15:55 por Aventurero | Informe spam
Necesito seleccionar de una tabla registros únicos del campo Identificación
del cliente (IdCliente).
Pero veo que a todos los campos sería necesario colocarle MIN() o MAX u otro
truco para hacer por ejemplo un GROUP.
Cómo lo hago más sencillo, si tengo muchos campos?
Se puede usar DISTINCT? Como se haría.

Gracias

Atentamente,


Aventurero

Preguntas similare

Leer las respuestas

#1 Maxi
26/05/2007 - 16:20 | Informe spam
Hola, hacele un group by


-
Microsoft M.V.P en SQLServer
SQLTotal Consulting - Servicios en SQLServer
Email:
"Aventurero" escribió en el mensaje
news:%23N$
Necesito seleccionar de una tabla registros únicos del campo
Identificación del cliente (IdCliente).
Pero veo que a todos los campos sería necesario colocarle MIN() o MAX u
otro truco para hacer por ejemplo un GROUP.
Cómo lo hago más sencillo, si tengo muchos campos?
Se puede usar DISTINCT? Como se haría.

Gracias

Atentamente,


Aventurero

Respuesta Responder a este mensaje
#2 Aventurero
26/05/2007 - 18:10 | Informe spam
Gracias Maxi.
Pero por ejemplo para THorasTrabajadas y necesito solo un registro por cada
trabajador (IdEmp) sin interesar el contenido

consec IdEmp fecha cant almacen operador

987 19300 01/01/2007 35 BOULEVAR OPERARIO 1
2000 19300 01/02/2007 28 RETORNO OPERARIO 4
2500 25000 01/01/2007 45 PRINCIPAL OPERARIO 6
2600 38000 01/02/2007 35 BOULEVAR OPERARIO 1
2700 25000 01/01/2007 56 PRINCIPAL OPERARIO 6
2800 32000 01/02/2007 79 BOULEVAR OPERARIO 1
2900 19300 01/03/2007 64 CENTRAL OPERARIO 5
3000 23000 01/01/2007 35 CENTRAL OPERARIO 5
3100 23000 01/02/2007 20 PRINCIPAL OPERARIO 6
3200 48000 01/02/2007 32 BOULEVAR OPERARIO 1
3300 25000 01/02/2007 33 CENTRAL OPERARIO 5
3400 19300 01/04/2007 27 RETORNO OPERARIO 4

He probado con

select distinc IdEmp from THorasTrabajadas
select distinc IdEmp, * from THorasTrabajadas

Y me da los mismos resultados

con el siguiente
select min(IdEmp), * from THorasTrabajadas group by IdEmp (ERROR)

Como hago para incluir todos los campos del registro en la consulta

Gracias y disculpas por no entender esto.
Atentamente,


Aventurero
Respuesta Responder a este mensaje
#3 Alejandro Mesa
26/05/2007 - 19:39 | Informe spam
Trata:

select
*
from
dbo.t1 as a
where
consec = (
select max(b.consec)
from dbo.t1 as b
where b.IdEmp = a.IdEmp
)
go


;with cte
as
(
select *, row_number() over(partition by IdEmp order by consec) as rn
from dbo.t1
)
select
*
from
cte
where
rn = 1
go


AMB

)

"Aventurero" wrote:

Gracias Maxi.
Pero por ejemplo para THorasTrabajadas y necesito solo un registro por cada
trabajador (IdEmp) sin interesar el contenido

consec IdEmp fecha cant almacen operador

987 19300 01/01/2007 35 BOULEVAR OPERARIO 1
2000 19300 01/02/2007 28 RETORNO OPERARIO 4
2500 25000 01/01/2007 45 PRINCIPAL OPERARIO 6
2600 38000 01/02/2007 35 BOULEVAR OPERARIO 1
2700 25000 01/01/2007 56 PRINCIPAL OPERARIO 6
2800 32000 01/02/2007 79 BOULEVAR OPERARIO 1
2900 19300 01/03/2007 64 CENTRAL OPERARIO 5
3000 23000 01/01/2007 35 CENTRAL OPERARIO 5
3100 23000 01/02/2007 20 PRINCIPAL OPERARIO 6
3200 48000 01/02/2007 32 BOULEVAR OPERARIO 1
3300 25000 01/02/2007 33 CENTRAL OPERARIO 5
3400 19300 01/04/2007 27 RETORNO OPERARIO 4

He probado con

select distinc IdEmp from THorasTrabajadas
select distinc IdEmp, * from THorasTrabajadas

Y me da los mismos resultados

con el siguiente
select min(IdEmp), * from THorasTrabajadas group by IdEmp (ERROR)

Como hago para incluir todos los campos del registro en la consulta

Gracias y disculpas por no entender esto.
Atentamente,


Aventurero



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida