![]() |
Un Campo/ Dos Columnas
Tengo Una tabla en MySQL, que contiene fecha, importe, tipo venta(tienda/almacén).
Quería hacer una Consulta, que me diera la fecha, las ventas almacén, y las ventas en tienda. Es decir según el tipo de venta que me las ponga en una columna o en otra. Lo he intentado con SELECT xxx WHERE, con IIF(xxx etc etc), pero siempre me da error de syntaxis. Me podéis Ayudar? Gracias |
no se si lo he entendido bien.
necesitas tres columnas: fecha, venta_almacen y venta_tienda. si el tipo de venta es 'almacen' que te coloque el resultado en 'venta_almacen', en caso contrario lo coloque en 'venta_tienda'. no he usado MySQL, pero en Interbase lo haria asi: Código:
select si este tipo de sentencias no lo soporta MySQL (que me extraña) puedes hechar mano tambien de los campos calculados en Delphi. |
Gracias por tu respuesta Haron, pero....
Ya lo había probado, y funciona al 50%, me explico: La tabla, la añade al final, no la mezcla, fecha venta_almacen venta_tienda 01/01/2003 10,20 0 02/01/2003 30,10 0 03/01/2003 18,20 0 01/01/2003 0 11 02/01/2003 0 12 03/10/2003 0 23 Y como problema añadido, las venta_tienda, no tiene decimales ?¿ ¿se te ocurre alguna otra solucion? |
Hola, por lo que comentas de hacerlo utilizando el iif, que no se si lo soporta MySql, sería:
Select fecha_venta, sum(iif(tipo_venta='almacen',importe,0)) as tot_almacen, sum(iif(tipo_venta='tienda',importe,0)) as tot_tienda from ventas group by fecha_venta Espero que te sirva. Un saludo. |
Gracias Javiermorales, pero el problema continua, empiezo a estar desesperado, tanto si utilizo
sum(iif(tipo_venta='almacen',importe,0)) as tot_almacen o utilizo iif(tipo_venta='almacen',sum(importe),0) as tot_almacen el resultado es el mismo, "error de sintaxis".... Empiezo a creer que la única solución es crear una tabla local temporal donde volcar los resultados.... solución que no me gusta nada. Un saludo. |
hola
en interbase tambien puedes hacer algo asi Código:
select codigo, a ver si asi te sirve |
Hola, utilizando lo indicado por Cadetill, quedaría como:
Código:
Select fecha_venta, Código:
Select A.fecha_venta, |
Gracias a todos por vuestra inestimable ayuda, pero.... "cuando todo falla, es el momento de leerse el manual":D
En la Pág. de MySQl, esta el manual (muy buen manual, por si alguien le interesa) y después de releer y releer, he visto que en MySQL, el "iif" se escribe como un simple "if", con lo que una de las posibles soluciones seria: sum(if(tipo_venta='almacen',importe,0)) as tot_almacen A grandes problemas, soluciones muy tontas. Gracias a todos y Un saludo. |
La franja horaria es GMT +2. Ahora son las 21:14:46. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi