24-07-2014, 20:44
Hola a tod@s gente copada del foro!
Les pido ayuda con un ejercicio que no me sale, curse la materia en el 2010 y estoy un poco oxidado...
Ejercicio 15 de la practica actual:
Escriba una consulta que retorne los pares de productos que hayan sido vendidos
juntos (en la misma factura) más de 500 veces. El resultado debe mostrar el código
y descripción de cada uno de los productos y la cantidad de veces que fueron
vendidos juntos. El resultado debe estar ordenado por la cantidad de veces que se
vendieron juntos dichos productos. Los distintos pares no deben retornarse más de
una vez.
y yo lo resuelvo de esta forma:
select p1.prod_codigo, p1.prod_detalle, p2.prod_codigo, p2.prod_detalle, COUNT (*) as Cantidad
from Producto p1, Producto p2, Item_Factura i, Item_Factura i2
where p1.prod_codigo=i.item_producto and
p2.prod_codigo=i2.item_producto and
i.item_numero=i2.item_numero and
p1.prod_codigo != p2.prod_codigo
group by p1.prod_codigo, p1.prod_detalle, p2.prod_codigo, p2.prod_detalle
having COUNT (*) > 500
y me devuelve esto:
00001718 PHILIPS MORRIS KS 00001705 PHILIPS MORRIS BOX 10 562
00001705 PHILIPS MORRIS BOX 10 00001718 PHILIPS MORRIS KS 562
00001731 MARLBORO KS 00001718 PHILIPS MORRIS KS 507
00001718 PHILIPS MORRIS KS 00001731 MARLBORO KS 507
como hago para eliminar los repetidos, ya que distinct no lo hace....
gracias desde ya !
Saludos
Les pido ayuda con un ejercicio que no me sale, curse la materia en el 2010 y estoy un poco oxidado...
Ejercicio 15 de la practica actual:
Escriba una consulta que retorne los pares de productos que hayan sido vendidos
juntos (en la misma factura) más de 500 veces. El resultado debe mostrar el código
y descripción de cada uno de los productos y la cantidad de veces que fueron
vendidos juntos. El resultado debe estar ordenado por la cantidad de veces que se
vendieron juntos dichos productos. Los distintos pares no deben retornarse más de
una vez.
y yo lo resuelvo de esta forma:
select p1.prod_codigo, p1.prod_detalle, p2.prod_codigo, p2.prod_detalle, COUNT (*) as Cantidad
from Producto p1, Producto p2, Item_Factura i, Item_Factura i2
where p1.prod_codigo=i.item_producto and
p2.prod_codigo=i2.item_producto and
i.item_numero=i2.item_numero and
p1.prod_codigo != p2.prod_codigo
group by p1.prod_codigo, p1.prod_detalle, p2.prod_codigo, p2.prod_detalle
having COUNT (*) > 500
y me devuelve esto:
00001718 PHILIPS MORRIS KS 00001705 PHILIPS MORRIS BOX 10 562
00001705 PHILIPS MORRIS BOX 10 00001718 PHILIPS MORRIS KS 562
00001731 MARLBORO KS 00001718 PHILIPS MORRIS KS 507
00001718 PHILIPS MORRIS KS 00001731 MARLBORO KS 507
como hago para eliminar los repetidos, ya que distinct no lo hace....
gracias desde ya !
Saludos