Ver Mensaje Individual
  #3 (permalink)  
Antiguo 06/10/2013, 09:20
Avatar de sven_uri
sven_uri
 
Fecha de Ingreso: mayo-2011
Mensajes: 109
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Problemas con SUM y ROLLUP

Cita:
Iniciado por gnzsoloyo Ver Mensaje
¿Evitarlo desde la consulta simple?
No. Si te fija en el manual, por definición de la clausula, eso es lo que siempre devuelve en esos casos.
Ahora bien, eso no implica que no puedas manipular la situación: Para eso existe el IFNULL():
Código MySQL:
Ver original
  1.     prov_nom,
  2.     IFNULL(prov_cognoms, '') prov_cognoms,
  3.     SUM( prov_costanual ) total_cost1
  4. FROM proveidors pr INNER JOIN imputacions imp ON pr.prov_id = imp.proveidors_prov_id
  5. WHERE prov_treballador =  'Trabajador'

Algunos tips:
1) No es necesario usar AS. Es una clausula obsoleta, ya no incluida en el estándar ANSI SQL, y sólo sirve para ensuciar el código.
2) No uses JOINs implícitos (coma), usa JOINs explícitos (INNER JOIN, LEFT JOIN o RIGHT JOIN). Ayudan a la performance, porque el implicito no es optimizable por el parser, y el explicito si.
Perfecto!

Es lo que buscaba, necesitaba ese comando jejeje.


Muchas gracias gnzsoloyo!