Problemas distinct SQL

09/08/2004 - 19:28 por Orlando Rios | Informe spam
Hola a todos, tengo el siguiente problema, necesito
recuperar inucamente valores que no sean repetidos, tengo
una tabla de movimientos que incluye campos como
referencia, factura y no. de documento.

Por ejemplo tengo:

referencia, Doc., factura
100 200 100
500 500 500


Si utilizo el distinct(referencia) me trae los valores
100 y 500, pero resulta que necesito traer los demas
campos por que los necesito entonces pongo:

distinct(referencia),doc,factura Y la sorpresa es de que
me trae 100,500 y 500 (lo repitio)

Apoco nada mas puedo recuperar el campo referencia??? los
demás no puedo.

Trabajo ASP con Access

Gracias de antemano.

Preguntas similare

Leer las respuestas

#1 Alvaro G Vicario
10/08/2004 - 08:19 | Informe spam
*** Orlando Rios wrote/escribió (Mon, 9 Aug 2004 10:28:03 -0700):
referencia, Doc., factura
100 200 100
500 500 500


Si utilizo el distinct(referencia) me trae los valores
100 y 500, pero resulta que necesito traer los demas
campos por que los necesito entonces pongo:

distinct(referencia),doc,factura Y la sorpresa es de que
me trae 100,500 y 500 (lo repitio)



No entiendo muy bien qué necesitas. Si te salen dos líneas con referencia
500, será porque hay dos registros con referencia 500 que se diferencian en
otros campos, ¿no? ¿Acaso quieres que te elimine alguno al azar? :-?



Respuesta Responder a este mensaje
#2 Orlando Rios
10/08/2004 - 17:15 | Informe spam
Gracias por ytu comentario.

referencia, Doc., factura
100 200 100
500 500 500





Descubri que unicamente el distinct funciona con un solo
campo, si pongo distinct(campo1),campo2 SQL buscara el
unico tanto en el campo 1 como en el campo 2, apesar de
que le este diciendo que nada más es el campo1.

Todo esto comenzo porque queria rescatar los datos de
toda la fila per veo que de sa forma no se puede.

De antemano gracias.
Respuesta Responder a este mensaje
#3 Alvaro G Vicario
11/08/2004 - 08:46 | Informe spam
*** Orlando Rios wrote/escribió (Tue, 10 Aug 2004 08:15:52 -0700):
Descubri que unicamente el distinct funciona con un solo
campo, si pongo distinct(campo1),campo2 SQL buscara el
unico tanto en el campo 1 como en el campo 2, apesar de
que le este diciendo que nada más es el campo1.



La ayuda dice:

"La palabra clave DISTINCT elimina las filas duplicadas de los resultados
de una instrucción SELECT."

"[La función Distinct] Devuelve un conjunto, eliminando tuplas duplicadas
de un conjunto especificado."

Creo que lo que quieres usar es lo primero, la palabra clave ("campo" no es
un conjunto, no tendría sentido usar la función). Y sirve para eliminar
filas duplicadas. Fíjate en estos datos:

referencia doc factura
100 1 1
100 1 1
100 1 2
100 2 1
100 2 2
200 1 1
200 1 2
200 2 2

La fila "100 1 1" está duplicada y eso es lo que te eliminaría. ¿Qué
sentido tendría eliminar *todas* las filas menos dos? ¿Cuál debería
eliminar, "200 1 1", "200 1 2" o "200 2 2"?


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