Ver Mensaje Individual
  #11 (permalink)  
Antiguo 22/02/2011, 11:09
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: 16 años, 5 meses
Puntos: 2658
Respuesta: Contar varios resultados en una sola consulta

Los problemas de PHP los debes consultar en el foro de PHP. Acá el tema es la consulta de SQL, no la programación (cosas de las normas del foro).
Pero en lo esencial, para hacer las pruebas de las consultas debes olvidarte momentaneamente de lo que sea programación. Prueba las consultas directamente en el phpMyAdmin, de modo que puedas ver las tablas de resultado, para comprender bien qué es lo que te está devolviendo MySQL, porque la mezcla hace que no estemos entendiendo lo mismo.
El error base de tu consulta es que en realidad no es un UNION lo que debes hacer, sino un SELECT con uso de dos funciones: IF() y SUM(), que sería el modo más simple:
Código MySQL:
Ver original
  1. SELECT SUM(IF(estado = 'proceso', 1, 0)) cantproc, SUM(IF(filtro = '2', 1, 0))  cantfiltro
  2. FROM tabla_1
;
El UNION tiene sentido si lo que quieres es una tabla que encadene los resultados de dos tablas con la misma cantidad de campos y en el mismo orden. Es una forma simple de crear información listada originada por condiciones diferentes sobre la misma o diferentes tablas.
Pero en tu caso, estás tratando de contar elementos que están en la misma tabla, los cuales cumplen criterios completamente disímiles.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)