Tema: Order By
Ver Mensaje Individual
  #5 (permalink)  
Antiguo 17/08/2012, 09:10
palmach
 
Fecha de Ingreso: noviembre-2007
Mensajes: 37
Antigüedad: 17 años
Puntos: 0
Respuesta: Order By

Este es el codigo completo al poner ORDER BY CAST(LEFT(serie,3) AS UNSIGNED, no_factura me da error de sintaxis

Código:
DELIMITER $$

DROP PROCEDURE IF EXISTS `usp_correlativoPlanta` $$
CREATE DEFINER=`factura`@`%` PROCEDURE `usp_correlativoPlanta`(
         in pFechaInicial date,
         in pFechaFinal date,
         in pCodigoPlanta varchar(50)

)
BEGIN

DROP TABLE IF EXISTS Tmp;
CREATE TABLE Tmp
SELECT factura.fecha as fecha, factura.serie as serie, factura.no_factura as no_factura,
planta.codigo as codigo, planta.nombre as nombre_planta,factura.nombre_cliente as nombre_cliente,
if(articulo.codigo='2005', factura_detalle.cantidad,0) as CL05,
if(articulo.codigo='2010', factura_detalle.cantidad,0) as CL10,
if(articulo.codigo='2020', factura_detalle.cantidad,0) as CL20,
if(articulo.codigo='2025', factura_detalle.cantidad,0) as CL25,
if(articulo.codigo='2035', factura_detalle.cantidad,0) as CL35,
if(articulo.codigo='2040', factura_detalle.cantidad,0) as CL40,
if(articulo.codigo='2060', factura_detalle.cantidad,0) as CL60,
if(articulo.codigo='2100', factura_detalle.cantidad,0) as CL100,

if(articulo.codigo='2005' or articulo.codigo='2010' or articulo.codigo='2020' or articulo.codigo='2025'
or articulo.codigo='2035' or articulo.codigo='2040' or articulo.codigo='2060' or  articulo.codigo='2100',factura_detalle.galones,0) as equival_galones,

if(articulo.tipo="A",cantidad,0) as carburacion,
if(articulo.tipo="G",cantidad,0) as granel,

if(factura.tipo_pago="C",factura.total,0) as contado,
if(factura.tipo_pago="R",factura.total,0) as credito



from factura
left join factura_detalle on factura.facturaid=factura_detalle.facturaid
inner join planta on factura.plantaid=planta.plantaid
left join articulo on factura_detalle.articuloid=articulo.articuloid;

select date_format(fecha,'%Y/%m/%d'), serie, no_factura, nombre_cliente, nombre_planta,
(sum(CL05)*5 + sum(CL10)*10 + sum(CL20)*20 + sum(CL25)*25 + sum(CL35)*35 + sum(CL40)*40 + sum(CL60)*60 + sum(CL100)*100) as libras,
sum(equival_galones) as cilindros,sum(carburacion) as carburacion, sum(granel) as granel,
(contado + credito) as total


from tmp c

where
date_format(fecha, '%Y/%m/%d') between pFechaInicial and pFechaFinal
and upper(codigo) = upper(pCodigoPlanta)
group by serie,no_factura,fecha     ORDER BY CAST(LEFT(serie,3) AS UNSIGNED, no_factura;



END $$

DELIMITER ;