SQL - duda sentencia sql disctinct

   
Vista:

duda sentencia sql disctinct

Publicado por Mauricio31 (2 intervenciones) el 05/03/2008 19:57:26
resulta q tengo una tabla con estos campos:

Numero || Nimbre || Apellido || Cedula

donde numero puede repetirse (cedula es la clave principal)

yo lo que quiero es q aparezca todos los datos de la tabla pero solo una vez para cada numero, entonces puse esta sentencia:

SELECT DISTINCT Numero FROM tabla

pero esta sentencia solo me devuelve la columna Numero, pero yo quiero q aparezcan todas las columnas. como hago???

desde ya 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

RE:duda sentencia sql disctinct

Publicado por Isaias (5073 intervenciones) el 05/03/2008 20:03:47
Mauricio

Si CEDULA, es tu PK, ¿por que no mejor hacerlo por este campo?
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

RE:duda sentencia sql disctinct

Publicado por Mauricio31 (2 intervenciones) el 05/03/2008 20:25:54
es q yo no quiero listar todos los registros

solo quiero que aparezca uno por numero distinto, algo asi:

la tabla es asi

Numero || Nombre || Apellido || Cedula
1 pepe lopez 123
1 juan perez 234
2 pedro suarez 567
3 maria katz 000
3 agustina sefer 111
3 lucia tonia 555


entonces yo hago la sentencia

SELECT DISTINCT numero FROM tabla;

y me devuelve esto

Numero
1
2
3

pero yo quiero q me devuelva asi:

Numero || Nombre || Apellido || Cedula
1 pepe lopez 123
2 pedro suarez 567
3 maria katz 000
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

RE:duda sentencia sql disctinct

Publicado por Yair Escudero (2 intervenciones) el 06/03/2008 22:08:12
Hola Mauricio

Lo que necesitas no es la clausula "DISTINCT", lo que requieres se hace con una agregacion asi:

SELECT First(Numero) as Numero,
First(Nombre) as Nombre,
First(Apellido) as Apellido,
First(Cedula) as Cedula
FROM tabla
GROUP BY Numero, Nombre, Apellido, Cedula
ORDER BY Numero

Pero si me lo permites, te quiero decir que esa consulta no tiene ningun sentido pues estas dejando registros sin mostrar sin ningun criterio especial mas que el orden de aparicion, estoy de acuerdo con el otro compañero que dice que deberias basarte en la cedula pues este es la clave primaria.
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