SQL - --- Problema con UNION --

 
Vista:

--- 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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:--- Problema con UNION --

Publicado por Liliana (426 intervenciones) el 24/11/2006 16:43:13
Hola Ronald,
El ORDER BY debe ir al final del query, no pueden unirse dos resultados con orden diferente.
Saludos,
Liliana.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:--- Problema con UNION --

Publicado por RonaldFer (2 intervenciones) el 27/11/2006 03:06:18
Hola Liliana.

La verdad es que no puedo ordenar una sola vez al final, pues la logica para resolver la consulta es ordenarlo dos veces.

Espero que me entiendas.

Saludos...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:--- Problema con UNION --

Publicado por Liliana (426 intervenciones) el 27/11/2006 17:39:21
Hola,
si, lo vi en el ejemplo de salida que pusiste, pero el T-SQL no permite ordenar dos resultados unidos, cada uno con un orden diferente.
La única manera que se me ocurre es que hagas dos SP diferentes para devolver cada uno un resultado, y los concatenes en la aplicación.
Saludos,
Liliana.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:--- Problema con UNION --

Publicado por Ronald (1 intervención) el 29/11/2006 21:38:35
gracias Liliana a ver como agradecimiento te invito a salir a bailar o algo pues para ver luego que pasa.. q dices.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar