Ver Mensaje Individual
  #3 (permalink)  
Antiguo 11/05/2013, 06:01
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 2 meses
Puntos: 2658
Respuesta: Como dejar los resultados en columnas y no filas (sub consultas)

Cita:
y lo ideal seria obtener algo asi

Mes
XXXXX <--- valor del mes acual
XXXXX <--- valor del mes anterior


¿Es posible hacer esto?
Si, es posible, y francamente estás haciendo en el primer caso una consulta demasiado complicada, ineficiente, usando funciones más complejas de lo necesarias.


Código MySQL:
Ver original
  1.     DATE_FORMAT(`date`, '%m/%Y') Mes,
  2.         SUM(`value`) TotalDelMes
  3.     `data`
  4.     YEAR(`date`) = YEAR(CURDATE())
  5.     AND MONTH(`date`) BETWEEN (MONTH(`date`)-1) AND MONTH(`date`)
  6. GROUP BY YEAR(`date`), MONTH(`date`);

Por otro lado, te recomiendo no usar denominaciones en inglés para los campos, porque es altamente probable (como tal vez ya lo hayas descubierto), que te topes con palabras reservadas, las que pueden generar errores sintácticos indetectables.
Que las puedas "gestionar" con acentos graves, no es suficiente. Un sólo olvido, y adiós consulta.

Incluso cuando los angloparlantes crean ese tipo de columnas, no suelen ponerles "date", "day", "datetime, "int", "value", "set" y cosas así, porque saben que es una metida de pata.
Las buenas prácticas recomiendan ponerle a cada columna propia de una tabla (excluyendo las usadas como FK), un prefijo que indique a qué tabla pertenece. De ese modo no se generan nombres conflictivos, y además siempre sabrás qué columna de qué tabla estás usando....
Tenlo en cuenta.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)