Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Resultados unicos

Estas en el tema de Resultados unicos en el foro de Bases de Datos General en Foros del Web. Buenas, tengo una tabla bastante grande en la que se repite varias veces varios ID_cliente, habria alguna consulta que pueda darme como resultado solo un ...
  #1 (permalink)  
Antiguo 25/11/2015, 16:04
 
Fecha de Ingreso: enero-2010
Mensajes: 75
Antigüedad: 14 años, 10 meses
Puntos: 1
Pregunta Resultados unicos

Buenas, tengo una tabla bastante grande en la que se repite varias veces varios ID_cliente, habria alguna consulta que pueda darme como resultado solo un ID_cliente unico y obviar los duplicados?

Ejemplo de tabla:



En la imagen que se muestra, pueden ver que se repiten varias filas deseo obtener un solo resultado por cada ID_cliente del 1 al 10000.

No soy muy ducho en el tema, pero he hecho varios intentos:

SELECT * FROM Clientes WHERE Clientes.ID_Cliente < '10000'

Pero como imaginaran el resultado es malo y muestra ademas duplicados.
Luego probé creando una tabla con una sola columna (ID_Cliente) teniendo los números del 1 al 10000 y hacer un Left Join:

SELECT * FROM nuevatabla LEFT OUTER JOIN Clientes ON nuevatabla.ID_Cliente = Clientes.ID_Cliente

Pero demora demasiado (mas de lo que tarda una consulta de este tipo de volumen) por lo que la detengo.

Podrían ayudarme a encontrar un mejor modo de obtener solo 10000 clientes y que sus ID_cliente sean del 1 al 10000 ?

Gracias por la atención.
  #2 (permalink)  
Antiguo 25/11/2015, 16:23
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Resultados unicos

No has leido sobre distinct? Prueba con un

Código SQL:
Ver original
  1. SELECT DISTINCT * FROM tabla

Cuando hablas de muchos registros te refieres a cuantos? Porq 10000 es muy poco...
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 25/11/2015, 17:25
 
Fecha de Ingreso: enero-2010
Mensajes: 75
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: Resultados unicos

Cita:
Iniciado por Libras Ver Mensaje
No has leido sobre distinct? Prueba con un

Código SQL:
Ver original
  1. SELECT DISTINCT * FROM tabla

Cuando hablas de muchos registros te refieres a cuantos? Porq 10000 es muy poco...
No mucho pero, he hecho algunas pruebas en base al ejemplo dado con anterioridad:

SELECT DISTINCT Clientes.ID_Clientes FROM Clientes INNER JOIN tablanueva ON Clientes.ID_Clientes = tablanueva.ID_cliente

Pero dándome como resultado ID_Cliente únicos, pero solo mostrándome esa única columna.

Tal vez falte algún pequeño detalle, el cual no veo simple vista.

PD.: Digo muchos registros por si bien quiero ubicar 10000 ID mi base principal tiene mas de 8 millones de registros.
  #4 (permalink)  
Antiguo 25/11/2015, 17:30
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Resultados unicos

8 millones es poco ;), si quieres los primeros 10,000 registros no ocupas crear una nueva tabla, con un top 10000 es mas q suficiente..

Código SQL:
Ver original
  1. SELECT top 10000 distict * FROM tabla
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 25/11/2015, 18:07
 
Fecha de Ingreso: enero-2010
Mensajes: 75
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: Resultados unicos

No lo que busco no es los primeros 10000, quiero el ID_Cliente = 1 , ID_cliente= 2 ,............., ID_cliente = 10000

Y no están ordenados, y así estuvieran ordenados, por cada ID_cliente en algunos casos hay mas de 1000 registros, osea 1000 filas con el mismo ID_cliente.

En todo caso la solución que me das:

SELECT top 10000 DISTINCT * FROM Clientes.ID_clientes

Debería servirme, pero no procesa (SQLITE). tal vez tenga una sintaxis diferente.

Gracias,

Etiquetas: duplicados, resultados, select, tabla, unicos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:07.