![]() |
Problema Con Un Query
SALUDOS..
Me encuentro realizando el siguiente qry en Mysql select c.cod_prov,d.descripcion,format((sum(case a.cod_movi when '1' then a.valor else 0 end)),2)"Venta Neta", format((sum(case a.cod_movi when '2' then a.valor else 0 end)),2)"Devoluciones", format((sum(case a.cod_movi when '1' then a.valor when'2' then a.valor*-1 else 0 end)),2)as total from tbl_venta as a,tbl_artic as b,tbl_prov as c,tbl_nit as d where a.cod_artic=b.cod_artic and b.cod_prov=c.cod_prov and c.nit=d.nit and a.fecha between '2005-05-01' and '2005-05-31' group by c.cod_prov,d.descripcion order by total; El resultado del mismo es el esperado, pero la funcion order by no me esta ordenando los datos. No se que esta pasando, si alguien sabe como puedo hacer para que el ordenamiento funcione se lo agradeceria enormemente. Gracias por la atencion :cool: :cool: |
No sé si es una barbaridad, pero creo haber leido por los foros que tienes que usar:
Suerte |
Saludos
Gracias por tus comentarios, pero tu sugerencia no funciona, agradezco tu colaboracion y quedo a la espera de mas comentarios. |
P
Hola:
Me parece que en la sentencia que utilizas para el Order by debes incluir el format, o sea format((sum(case a.cod_movi when '1' then a.valor when'2' then a.valor*-1 else 0 end)),2) Espero te sirva Saludos Luis Garcia |
Yo en Interbase he usado:
Ahí le estoy indicando la columna que quiero que use para ordenar de acuerdo a su número. Lo que no se si esto solo sirva en Interbase. Pruebalo a ver si te sirve. Saludos... |
Nada, no funciona, las cosas siguen iguales, habra que seguir investigando, pero creo que esto esta demasiado misterioso no creen. Me doy cuenta que muchos han visto este hilo asi que les agradezco me colaboren para adquirir este conocimiento al parecer el problema esta dado por el uso del case.
Gracias estamos en contacto |
En este momento no logro recordar si mysql soporta lo que voy a sugerirte.. pero quien quita y funcione.
En la jerga de oracle, esto se llama inline views... no se cómo se llama en otras jergas.. :D Hasta luego. ;) |
Saludos
No se mucho de sentencias SQl pero when y '2' estan pegados. FUnciona asi? |
Bueno, eso depende del tokenizer del motor de la base de datos, pero yo diría que debe funcionar. En todo caso, yo lo copié del mensaje original de Harry.. :D
|
Saludos..
Bueno les cuento que ya pude corregir el problema. A decir verdad el causante del inconveniente fue la funcion format, pues deje de usarla y el ordenamiento quedo ok. Como este query lo estaba usando para poder generar un reporte, lo que hice fue dejarle el formateo del mismo al quickreport. De todas maneras queda la duda al momento de usar el format, pues no nos permite ordenar. Agradezco la atencion prestada y los comentarios recibidos, todos fueron muy utiles. Atentamente ING HARRY :D :D :D |
La franja horaria es GMT +2. Ahora son las 03:13:48. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi