SQL - consulta campo único

 
Vista:
sin imagen de perfil
Val: 101
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

consulta campo único

Publicado por Jordi (36 intervenciones) el 05/01/2020 19:17:32
Buenas
Trabajo en sql server 2017.
Quiero hacer una consulta de los campos NIF, nombre, apellidos y direccion
En la tabla hay muchos NIF repetidos y lo que quiero es que salgan todos los datos pero sólo los NIF únicos.
Lo he intentado hacer con un SELECT DISTINCT pero no me ha funcionado

SELECT DISTINCT NIF, nombre, apellidos, direccion
FROM Usuarios

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de gilman
Val: 125
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

consulta campo único

Publicado por gilman (46 intervenciones) el 06/01/2020 10:18:38
¿Los NIFs únicos?, no entiendo muy bién a que te refieres, ¿a que solo salgan los NIFs no repetidos?
Esplicate mejor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 101
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

consulta campo único

Publicado por Jordi (36 intervenciones) el 06/01/2020 10:38:59
Buenas
Tengo los siguientes campos y datos

DNI NOMBRE APELLIDOS DIRECCION

36524275G Pedro Abel Madrid

36538457Z Luis Juan Albacete

58954872Z Alberto Prado Madrid

12658987T carlos Anel Madrid

36538457Z Luis Juan Albacete

36524275G Pedro Abel Madrid

Digamos que con la consulta, me tendria que traer los siguientes datos

DNI NOMBRE APELLIDOS DIRECCION

36524275G Pedro Abel Madrid

36538457Z Luis Juan Albacete

58954872Z Alberto Prado Madrid

12658987T carlos Anel Madrid

O sea, los 2 DNI repetidos no tendrian que salir.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 2.761
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

consulta campo único

Publicado por Isaias (1457 intervenciones) el 06/01/2020 17:02:07
Hola

El que los DNI esten repetidos, ¿es un ERROR de captura?

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 101
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

consulta campo único

Publicado por Jordi (36 intervenciones) el 06/01/2020 18:37:42
No, es correcto. Estan repetidos y queria hacer una consulta sin que me saliesen los repetidos.
Creo que lo he conseguido con lo siguiente:

SELECT dni
, nombre
, apellidos
, direccion

FROM
Usuarios
GROUP BY dni
, nombre
, apellidos
, direccion;

gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 2.761
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

consulta campo único

Publicado por Isaias (1457 intervenciones) el 06/01/2020 20:18:28
Si, he visto que en el foro de Microsoft le han resuelto su duda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de gilman
Val: 125
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

consulta campo único

Publicado por gilman (46 intervenciones) el 07/01/2020 10:18:20
El problema es que
1
2
SELECT DISTINCT NIF, nombre, apellidos, direccion
FROM Usuarios
Debería devolver exactamente lo mismo,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 2.761
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

consulta campo único

Publicado por Isaias (1457 intervenciones) el 07/01/2020 16:46:22
No es tan simple, ya que tiene NIF repetidos, pero los nombres son diferentes

La solucion ofrecida por DIANA ACUÑA es:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
CREATE TABLE usuarios
(dni       VARCHAR(15),
 nombre    VARCHAR(25),
 apellidos VARCHAR(25),
 direccion VARCHAR(200)
);
GO
insert into usuarios (dni, nombre, apellidos, direccion)
values
('36524275G','Pedro','Abel','Madrid'),
('36538457Z','Luis','Juan','Albacete'),
('58954872Z','Alberto','Prado','Madrid'),
('12658987T','carlos','Anel','Madrid'),
('36538457Z','Luis','Juan','Albacete'),
('36524275G','Pedro','Abel','Madrid');
 
go
 
SELECT dni
     , nombre
     , apellidos
     , direccion
FROM
     USUARIOS
       GROUP BY dni
              , nombre
              , apellidos
              , direccion;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de gilman
Val: 125
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

consulta campo único

Publicado por gilman (46 intervenciones) el 08/01/2020 08:41:23
Comprobado, en Oracle, pero debería ser igual en cualquier otra BD, las sentecias:
1
2
3
4
SELECT dni, nombre, apellidos, direccion
    FROM USUARIOS
GROUP BY dni, nombre, apellidos, direccion
ORDER BY dni, nombre, apellidos, direccion;
y
1
2
3
SELECT DISTINCT dni, nombre, apellidos, direccion
    FROM USUARIOS
ORDER BY dni, nombre, apellidos, direccion;
He añadido la clausula ORDER BY para facitar la comprobación, es lo que me estrañaba desde el principio, cuando se quiere devolver los distintos registros, sin que aparezcan filas duplicadas lo normal es usar la clausula DISTINCT, naturalmente es lo mismo que usar el GROUP BY tal y como se propone, pero Jordi comenta que DISTINCT no le ha funcionado, de ahí mi extrañeza en mi primera respuesta, ya que no entendía que es lo que quería obtener
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de gilman
Val: 125
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

consulta campo único

Publicado por gilman (46 intervenciones) el 08/01/2020 16:08:34
Quería decir, que las dos sentencias son equivalentes, es decir, devuelven los mismo registros, se me ha olvidado en el post anterior, pero si no ocurre así en SQL Server comentarlo, por que debería ser así, y si no ocurre estamos ante un bug
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Lisandro
Val: 35
Ha aumentado su posición en 20 puestos en SQL (en relación al último mes)
Gráfica de SQL

consulta campo único

Publicado por Lisandro (8 intervenciones) el 12/02/2020 06:08:36
select distinct * from usuarios
Result
dni nombre apellidos direccion
12658987T carlos Anel Madrid
36524275G Pedro Abel Madrid
36538457Z Luis Juan Albacete
58954872Z Alberto Prado Madrid
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Vega
Val: 207
Ha disminuido 1 puesto en SQL (en relación al último mes)
Gráfica de SQL

consulta campo único

Publicado por Vega (62 intervenciones) el 08/01/2020 16:39:29
¿que más campos tiene tu tabla Usuarios?
¿tienes algún campo que indique que el registro a sido actualizado y ya no es vigente?

la lista de campos se puede consequir con la siguiente consulta.
select column_name from information_schema.columns where table_name = 'Usuarios'
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar