--- Problema con UNION --
Publicado por RonaldFer (2 intervenciones) el 24/11/2006 02:40:54
Hola a todos.
Estoy trabajando con SQL server 2000.
Tengo las siguientes 3 tablas:
PRODUCTO ( ID_PRODUCTO(LLAVE), DESCRIPCION, PRECIO, EXISTENCIA, STOCK_MIN )
VENTA ( NRO_VENTA(LLAVE), FECHA, CLIENTE, OBSERVACION )
DETALLE_VENTA ( NRO_VENTA, ID_PRODUCTO, PRECIO_UNIT, CANTIDAD )
Tengo que mostrar los 3 productos mas vendidos y lo 3 menos vendidos (en una sola consulta)
--******************************************************************
--Intente haciendo esto:
(
select top 3 p.nombre, sum(d.precio_unit*d.cantidad)as total
from producto as p, detalle_venta as d
where p.id_producto = d.id_producto
group by p.nombre
order by totalvent desc
)
union
(
select top 3 p.nombre, sum(d.precio_unit*d.cantidad)as total
from producto as p, detalle_venta as d
where p.id_producto = d.id_producto
group by p.nombre
order by p.nombre asc
)
--me sale errores en la parte de los order
--******************************************************************
--Intente haciendo esto:
select top 3 p.nombre, sum(d.precio_unit*d.cantidad)as total
from producto as p, detalle_venta as d
where p.id_producto = d.id_producto
group by p.nombre
order by totalvent desc
union
select top 3 p.nombre, sum(d.precio_unit*d.cantidad)as total
from producto as p, detalle_venta as d
where p.id_producto = d.id_producto
group by p.nombre
order by p.nombre asc
--me sale error en la parte del union
La verdad pense que funcionaria, pues la logica esta bien, pero no logro hacer que funcione.
Alguien sabe que es lo que esta mal??
Saludos
Estoy trabajando con SQL server 2000.
Tengo las siguientes 3 tablas:
PRODUCTO ( ID_PRODUCTO(LLAVE), DESCRIPCION, PRECIO, EXISTENCIA, STOCK_MIN )
VENTA ( NRO_VENTA(LLAVE), FECHA, CLIENTE, OBSERVACION )
DETALLE_VENTA ( NRO_VENTA, ID_PRODUCTO, PRECIO_UNIT, CANTIDAD )
Tengo que mostrar los 3 productos mas vendidos y lo 3 menos vendidos (en una sola consulta)
--******************************************************************
--Intente haciendo esto:
(
select top 3 p.nombre, sum(d.precio_unit*d.cantidad)as total
from producto as p, detalle_venta as d
where p.id_producto = d.id_producto
group by p.nombre
order by totalvent desc
)
union
(
select top 3 p.nombre, sum(d.precio_unit*d.cantidad)as total
from producto as p, detalle_venta as d
where p.id_producto = d.id_producto
group by p.nombre
order by p.nombre asc
)
--me sale errores en la parte de los order
--******************************************************************
--Intente haciendo esto:
select top 3 p.nombre, sum(d.precio_unit*d.cantidad)as total
from producto as p, detalle_venta as d
where p.id_producto = d.id_producto
group by p.nombre
order by totalvent desc
union
select top 3 p.nombre, sum(d.precio_unit*d.cantidad)as total
from producto as p, detalle_venta as d
where p.id_producto = d.id_producto
group by p.nombre
order by p.nombre asc
--me sale error en la parte del union
La verdad pense que funcionaria, pues la logica esta bien, pero no logro hacer que funcione.
Alguien sabe que es lo que esta mal??
Saludos
Valora esta pregunta


0