Consultar solo registros duplicados

09/04/2005 - 20:47 por J Lara | Informe spam
Tengo una BD de productos y deseo consultar solo
aquellos que cumplan la condicion de estar duplicados
claro, estan duplicados pero en ciertos campos tienen
datos diferentes, aun asi quisiera saber cuales son.

Podrian ayudarme al respecto.

Gracias por su ayuda.
Saludos.

Preguntas similare

Leer las respuestas

#1 Gustavo Larriera [MVP]
09/04/2005 - 21:22 | Informe spam
Disculpas no pude entender bien tu pregunta.

Lo que deseas es detectar registros que estan duplicados en solamente
algunos campos y en los demas campos no hay relacion alguna? Por
ejemplo, si la tabla es T(A, B, C) y tienes

1,1,1
1,1,2
2,1,3
3,1,1
3,2,1

quieres detectar que las filas 1 y 2 estan duplicadas segun la columna
A, y que las filas 4 y 5 estanduplicadas segun la columna A.

Algo asi?


Gustavo Larriera
Uruguay LatAm
Blog: http://sqljunkies.com/weblog/gux/
MVP profile: http://aspnet2.com/mvp.ashx?GustavoLarriera
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and
confers no rights.



"J Lara" wrote in message
news::

Tengo una BD de productos y deseo consultar solo
aquellos que cumplan la condicion de estar duplicados
claro, estan duplicados pero en ciertos campos tienen
datos diferentes, aun asi quisiera saber cuales son.

Podrian ayudarme al respecto.

Gracias por su ayuda.
Saludos.
Respuesta Responder a este mensaje
#2 Alejandro Mesa
09/04/2005 - 21:35 | Informe spam
J Lara,

Cuales son las columnas que quieres consultar a ver si hay duplicados?.
Supongamos que quieres ver las filas con datos duplicados en la columna
[nombre_producto].

select nombre_producto
from dbo.producto
group by nombre_producto
having count(*) > 1

Si quieres ver la informacion de todas las columnas de esas filas, entonces:

select *
from dbo.producto a
where exists (select * from dbo.producto as b where b.producto_name =
a.producto_name and b.producto_id != a.producto_id)

or

select a.*
from producto as a
inner join
(
select nombre_producto
from dbo.producto
group by nombre_producto
having count(*) > 1
) as b
on a.producto_name = b.producto_name



AMB

"J Lara" wrote:

Tengo una BD de productos y deseo consultar solo
aquellos que cumplan la condicion de estar duplicados
claro, estan duplicados pero en ciertos campos tienen
datos diferentes, aun asi quisiera saber cuales son.

Podrian ayudarme al respecto.

Gracias por su ayuda.
Saludos.
Respuesta Responder a este mensaje
#3 J Lara
11/04/2005 - 15:55 | Informe spam
Sorry, no me explique bien...la idea es la siguiente:
tengo 3 tablas;

T1(codigo_producto),
T2(Clientes)
T3(datos generales)

ejecuto una consulta donde extraigo el codigo del producto con los
clientes que lo compran y sus datos generales, also asi:

Codigo_producto Cliente datos_grales
005 cliente1 datosx
005 cliente 2 datosx
001 cliente 3 datosx
004 cliente 4 datossx
004 cliente 2 datosx

Como veran el unico que no se repite es producto 001, nada mas lo
tiene el cliente 3 y ese es el que no quiero que aparesca solo deseo
los que me compran 2 o mas clientes determinado producto.

Gracias por sus respuestas.

Saludos.


"Gustavo Larriera [MVP]" escribió:

Disculpas no pude entender bien tu pregunta.

Lo que deseas es detectar registros que estan duplicados en solamente
algunos campos y en los demas campos no hay relacion alguna? Por
ejemplo, si la tabla es T(A, B, C) y tienes

1,1,1
1,1,2
2,1,3
3,1,1
3,2,1

quieres detectar que las filas 1 y 2 estan duplicadas segun la columna
A, y que las filas 4 y 5 estanduplicadas segun la columna A.

Algo asi?


Gustavo Larriera
Uruguay LatAm
Blog: http://sqljunkies.com/weblog/gux/
MVP profile: http://aspnet2.com/mvp.ashx?GustavoLarriera
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and
confers no rights.



"J Lara" wrote in message
news::

> Tengo una BD de productos y deseo consultar solo
> aquellos que cumplan la condicion de estar duplicados
> claro, estan duplicados pero en ciertos campos tienen
> datos diferentes, aun asi quisiera saber cuales son.
>
> Podrian ayudarme al respecto.
>
> Gracias por su ayuda.
> Saludos.


Respuesta Responder a este mensaje
#4 Alejandro Mesa
11/04/2005 - 16:25 | Informe spam
J Lara,

Pudieras postear la sentencia select que usas para traer esa informacion.
Nosotros no tenemos la mas minima idea de como hacerlo puesto que no sabemos
la definicion de las tablas ni la relacion entre ellas. La proxima vez
ayudanos a entender mejor tu problema posteando alfgo de DDL de las tablas
involucradas incluyendo claves primarias, declaracion de integridad
referencial, indices, etc.

cliente
select t1.codigo_producto
from t1 inner join t2 on t1.codigo_producto = t2.codigo_producto
having count(distinct t2.client_id) > 1

select ...
from t1 inner join t2 on ...
inner join t3 on ...
inner join (
select t1.codigo_producto
from t1 inner join t2 on t1.codigo_producto = t2.codigo_producto
having count(distinct t2.client_id) > 1
) as t
on t1.codigo_producto = t.codigo_producto



AMB

"J Lara" wrote:

Sorry, no me explique bien...la idea es la siguiente:
tengo 3 tablas;

T1(codigo_producto),
T2(Clientes)
T3(datos generales)

ejecuto una consulta donde extraigo el codigo del producto con los
clientes que lo compran y sus datos generales, also asi:

Codigo_producto Cliente datos_grales
005 cliente1 datosx
005 cliente 2 datosx
001 cliente 3 datosx
004 cliente 4 datossx
004 cliente 2 datosx

Como veran el unico que no se repite es producto 001, nada mas lo
tiene el cliente 3 y ese es el que no quiero que aparesca solo deseo
los que me compran 2 o mas clientes determinado producto.

Gracias por sus respuestas.

Saludos.


"Gustavo Larriera [MVP]" escribió:

> Disculpas no pude entender bien tu pregunta.
>
> Lo que deseas es detectar registros que estan duplicados en solamente
> algunos campos y en los demas campos no hay relacion alguna? Por
> ejemplo, si la tabla es T(A, B, C) y tienes
>
> 1,1,1
> 1,1,2
> 2,1,3
> 3,1,1
> 3,2,1
>
> quieres detectar que las filas 1 y 2 estan duplicadas segun la columna
> A, y que las filas 4 y 5 estanduplicadas segun la columna A.
>
> Algo asi?
>
>
> Gustavo Larriera
> Uruguay LatAm
> Blog: http://sqljunkies.com/weblog/gux/
> MVP profile: http://aspnet2.com/mvp.ashx?GustavoLarriera
> Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
> derecho / This posting is provided "AS IS" with no warranties, and
> confers no rights.
>
>
>
> "J Lara" wrote in message
> news::
>
> > Tengo una BD de productos y deseo consultar solo
> > aquellos que cumplan la condicion de estar duplicados
> > claro, estan duplicados pero en ciertos campos tienen
> > datos diferentes, aun asi quisiera saber cuales son.
> >
> > Podrian ayudarme al respecto.
> >
> > Gracias por su ayuda.
> > Saludos.
>
>
Respuesta Responder a este mensaje
#5 Alejandro Mesa
11/04/2005 - 16:29 | Informe spam
Correccion,

cliente
select t1.codigo_producto
from t1 inner join t2 on t1.codigo_producto = t2.codigo_producto
group by t1.codigo_producto
having count(distinct t2.client_id) > 1

select ...
from t1 inner join t2 on ...
inner join t3 on ...
inner join (
select t1.codigo_producto
from t1 inner join t2 on t1.codigo_producto = t2.codigo_producto
group by t1.codigo_producto
having count(distinct t2.client_id) > 1
) as t
on t1.codigo_producto = t.codigo_producto


AMB

"Alejandro Mesa" wrote:

J Lara,

Pudieras postear la sentencia select que usas para traer esa informacion.
Nosotros no tenemos la mas minima idea de como hacerlo puesto que no sabemos
la definicion de las tablas ni la relacion entre ellas. La proxima vez
ayudanos a entender mejor tu problema posteando alfgo de DDL de las tablas
involucradas incluyendo claves primarias, declaracion de integridad
referencial, indices, etc.

cliente
select t1.codigo_producto
from t1 inner join t2 on t1.codigo_producto = t2.codigo_producto
having count(distinct t2.client_id) > 1

select ...
from t1 inner join t2 on ...
inner join t3 on ...
inner join (
select t1.codigo_producto
from t1 inner join t2 on t1.codigo_producto = t2.codigo_producto
having count(distinct t2.client_id) > 1
) as t
on t1.codigo_producto = t.codigo_producto



AMB

"J Lara" wrote:

> Sorry, no me explique bien...la idea es la siguiente:
> tengo 3 tablas;
>
> T1(codigo_producto),
> T2(Clientes)
> T3(datos generales)
>
> ejecuto una consulta donde extraigo el codigo del producto con los
> clientes que lo compran y sus datos generales, also asi:
>
> Codigo_producto Cliente datos_grales
> 005 cliente1 datosx
> 005 cliente 2 datosx
> 001 cliente 3 datosx
> 004 cliente 4 datossx
> 004 cliente 2 datosx
>
> Como veran el unico que no se repite es producto 001, nada mas lo
> tiene el cliente 3 y ese es el que no quiero que aparesca solo deseo
> los que me compran 2 o mas clientes determinado producto.
>
> Gracias por sus respuestas.
>
> Saludos.
>
>
> "Gustavo Larriera [MVP]" escribió:
>
> > Disculpas no pude entender bien tu pregunta.
> >
> > Lo que deseas es detectar registros que estan duplicados en solamente
> > algunos campos y en los demas campos no hay relacion alguna? Por
> > ejemplo, si la tabla es T(A, B, C) y tienes
> >
> > 1,1,1
> > 1,1,2
> > 2,1,3
> > 3,1,1
> > 3,2,1
> >
> > quieres detectar que las filas 1 y 2 estan duplicadas segun la columna
> > A, y que las filas 4 y 5 estanduplicadas segun la columna A.
> >
> > Algo asi?
> >
> >
> > Gustavo Larriera
> > Uruguay LatAm
> > Blog: http://sqljunkies.com/weblog/gux/
> > MVP profile: http://aspnet2.com/mvp.ashx?GustavoLarriera
> > Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
> > derecho / This posting is provided "AS IS" with no warranties, and
> > confers no rights.
> >
> >
> >
> > "J Lara" wrote in message
> > news::
> >
> > > Tengo una BD de productos y deseo consultar solo
> > > aquellos que cumplan la condicion de estar duplicados
> > > claro, estan duplicados pero en ciertos campos tienen
> > > datos diferentes, aun asi quisiera saber cuales son.
> > >
> > > Podrian ayudarme al respecto.
> > >
> > > Gracias por su ayuda.
> > > Saludos.
> >
> >
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida