Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-11-2021
elrayo76 elrayo76 is offline
Miembro
 
Registrado: ene 2004
Ubicación: En la tierra, por eso mis archivos en la tierra y no en la nuebe...
Posts: 304
Poder: 21
elrayo76 Va por buen camino
Obtener datos repetidos

Buenas gente, tengo la siguiente consulta que necesito hacer y no se cual sea la forma mas eficiente de resolverla


Tengo la siguiente tabla


Ramo | Producto | Poliza | Tipo
1730 | 1 | 1 | 1

1730 | 1 | 1 | 1

1730 | 1 | 1 | 2

1730 | 1 | 5 | 1


Necesito de esos datos agruparlos por Ramo/Producto/Poliza y saber si el campo Tipo se repite dentro de la misma Poliza. Para esto hice la siguiente consulta similar a la siguiente en SQL Server, pero no se si es del todo performance


Código SQL [-]
SELECT COUNT(Tipo)
   FROM (SELECT Tipo
               FROM Tabla
             WHERE Ramo = 1730 AND
                        Producto = 1 AND
                        Poliza = 1
              GROUP BY Ramo, Producto, Poliza, Tipo) mpdl), 0)


La sub-consulta me da cuentos Tipo distintos existen agrupados y la consulta me devuelve cuantos grupos existen, con lo cual si hay mas de 1 es porque hay mas de un Tipo.



Saludos,
El Rayo
__________________
Si tienes una función o procedimiento con diez parámetros, probablemente hayas olvidado uno
Responder Con Cita
  #2  
Antiguo 09-11-2021
elrayo76 elrayo76 is offline
Miembro
 
Registrado: ene 2004
Ubicación: En la tierra, por eso mis archivos en la tierra y no en la nuebe...
Posts: 304
Poder: 21
elrayo76 Va por buen camino
Para mas detalles les puedo agregar que lo que necesito es saber cuando todos los registros para un mismo Ramo/Producto/Poliza tienen todos el mismo Tipo 1 para poder actualizar otra tabla. De tener todos otro tipo o no todos con el mismo no debería hacer nada.


Saludos
El Rayo
__________________
Si tienes una función o procedimiento con diez parámetros, probablemente hayas olvidado uno
Responder Con Cita
  #3  
Antiguo 09-11-2021
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.927
Poder: 26
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por elrayo76 Ver Mensaje
Para esto hice la siguiente consulta similar a la siguiente en SQL Server, pero no se si es del todo performance

"Similar"? Osea que motor/version usas? Y mejor da las cosas exactas.

P.D: El query planer te dira si es o no de buen desempeño...
__________________
El malabarista.
Responder Con Cita
  #4  
Antiguo 10-11-2021
bucanero bucanero is offline
Miembro
 
Registrado: nov 2013
Ubicación: Almería, España
Posts: 208
Poder: 11
bucanero Va camino a la fama
hola

con esta consulta puedes obtener los registros que tienen varios "tipos" (duplicados)
Código SQL [-]
SELECT Ramo, Producto, Poliza
FROM tabla 
group by Ramo, Producto, Poliza
having count(Tipo)>1

y si en vez de having count(Tipo)>1 utilizas having count(Tipo)=1 solo obtendrás los registros con "tipo" no repetido.

Para mejorar el rendimiento de la consulta es recomendable tener una clave UNICA para los campos invinculados.

Como bien dice mamcx depende también del motor de BBDD. Esta consulta al menos es valida para los motores MySQL Y MSSQL, para otros motores de BBDD no los he probado.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Evitar Datos Repetidos?? Bare C++ Builder 12 12-06-2010 03:36:39
Datos se muestran repetidos elarys Impresión 2 15-01-2010 19:34:37
TRxDBLookupCombo. Problema de desplazamiento en datos repetidos. Jose_Pérez OOP 0 07-02-2006 15:49:32
datos repetidos en tabla marceloalegre SQL 3 03-08-2005 21:37:47
Datos repetidos... SQL... emeceuy Conexión con bases de datos 6 18-08-2003 16:10:41


La franja horaria es GMT +2. Ahora son las 01:44:36.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi