![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Bien, en la tabla lo que tengo es esto:
Código:
id. referencia campo1 campo2... 1 0101 23 12 2 0101 54 32 3 0101 43 43 4 0102 12 54 5 0103 32 45 ... Dados estos datos, me interesa una consulta tal que al aplicarla, me quede con los registros en los que no se repita el campo referencia, como en este caso: Código:
id. referencia campo1 campo2... 1 0101 23 12 4 0102 12 54 5 0103 32 45 ... He probado algo así como:
pero no ha funcionado. O también me interesa que a la hora de filtrar los datos en la aplicación, en el evento OnFilterRecord, haga lo mismo pero no encuentro la forma. A ver si alguien me echa una mano, gracias. Sergio |
|
#2
|
|||
|
|||
|
Puedes provar algo del tipo:
select * from tabla t1 where ((select count(*) from tabla t2 where t1.referenca=t2.referencia)<2 ) |
|
#3
|
||||
|
||||
|
Hola.
Yo no soy experto en sql pero prueba a añadir a tu instrucción la cláusula "GROUP BY REFERENCIA" Saludos
__________________
Be water my friend. |
|
#4
|
||||
|
||||
|
Cita:
![]() Gracias ![]() Cita:
El "problema" es que aunque se ponga distinct, al añadir el asterisco para el resto de campos, finalmente se trae todos, por eso hay que agrupar por ese campo "referencia". En este caso no hace falta hacer un distinct, solamente es necesario agrupar:
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#5
|
||||
|
||||
|
Creo que esta es la consulta que quieres:
|
|
#6
|
|||
|
|||
|
Cita:
Por otro lado quería aclarar a casimiro que la consulta
pide a gritos un campo por el cual agrupar y daría error. Si no encuentro otra consulta sin anidaciones, cosa que creo sería imposible, pues me quedo con la de duilioisola que es la que me soluciona el problema. Gracias a todos por vuestro tiempo y aportaciones. Sergio J. |
|
#7
|
|||
|
|||
|
Cita:
Me devolvería esto: Código:
id. referencia campo1 campo2... 4 0102 12 54 5 0103 32 45 ... Código:
select distinct a.referencia, count(a.referencia) from tabla a group by referencia Sin embargo si añado a la sentencia select todos los demás campos no funciona: Código:
select distinct a.referencia, count(a.referencia), a.* from tabla a group by referencia |
|
#8
|
|||
|
|||
|
Cita:
prueba esto
Con esta consulta tendria que retornar lo que quieres |
|
#9
|
|||
|
|||
|
Primero disculparme por no haber leido bien la pregunta y no darme cuenta de que necesitabas también una ocurrencia para cada registro repetido. Segundo seguir discupandome, esta vez por la omisión del tag sql y por haber escrito prueva en lugar de prueba, cuando quise editar para corregir ya no era posible.
Ahora la aportación que igual te sirve. Puede que con esta consulta obtengas lo que necesites con la velocidad que te gustaría:
|
|
#10
|
|||
|
|||
|
Gracias de nuevo a todos, con todas estas últimas consultas, ya sólo me queda elegir la más eficiente porque funcionan todas.
Un saludo Sergio |
|
#11
|
|||
|
|||
|
Tema solucionado
|
|
#12
|
||||
|
||||
|
¿Y nos vas a dejar con la intriga de qué has hecho al final?
![]()
__________________
Be water my friend. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Consulta SQL devuelve registros duplicados | Malau | SQL | 5 | 26-05-2011 03:47:50 |
| copiar ciertos registros de una tabla a otra | JESUSNET | Conexión con bases de datos | 2 | 07-06-2008 17:53:13 |
| Consulta de varios registros y como resultado varias columnas | sierraja | SQL | 12 | 06-02-2008 13:04:22 |
| Consulta para ver registros duplicados | MarcoMae | SQL | 2 | 30-03-2005 19:40:43 |
| Appnd Condicionado a ciertos registros | JorgeBec | Conexión con bases de datos | 0 | 26-07-2004 22:56:42 |
|