Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Problema con sentencia count

Estas en el tema de Problema con sentencia count en el foro de Mysql en Foros del Web. Buen día. Actualmente me encuentro desarrollando un programa para en C# y Mysql el problema es que necesito acomodar un reporte que me muestre los ...
  #1 (permalink)  
Antiguo 06/09/2014, 02:19
 
Fecha de Ingreso: julio-2011
Mensajes: 2
Antigüedad: 8 años, 1 mes
Puntos: 0
Problema con sentencia count

Buen día.

Actualmente me encuentro desarrollando un programa para en C# y Mysql el problema es que necesito acomodar un reporte que me muestre los siguientes datos

|Cajero|Vendio |Pago|Regalo
1 |41 |4 |11
2 |4 |4 |4
3 |2 |2 |2
4 |6 |4 |4

Tengo la siguiente sentencia SQL

Código SQL:
Ver original
  1. SELECT
  2. logcaja.IdUSuario AS CAJERO,
  3. (SELECT COUNT(*) FROM DB.logcaja WHERE IdEvento = 1 ) AS VENDIO,
  4. (SELECT COUNT(*) FROM DB.logcaja WHERE IdEvento = 2 ) AS PAGO,
  5. (SELECT COUNT(*) FROM DB.logcaja WHERE IdEvento = 3 ) AS Regalo
  6. FROM DB.logcaja
  7. GROUP BY logcaja.IdUsuario;

Y me muestra el siguiente resultado
|Cajero|Vendio |Pago |Regalo
1 |53 |14 |21
2 |53 |14 |21
3 |53 |14 |21
4 |53 |14 |21

Pueden ayudarme a identificar mi error y mostrar los datos como les comentaba primero..

Saludos.

Última edición por gnzsoloyo; 06/09/2014 a las 08:32
  #2 (permalink)  
Antiguo 06/09/2014, 08:35
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.318
Antigüedad: 11 años, 9 meses
Puntos: 2653
Respuesta: Problema con sentencia count

Al hacer esas subconsultas en el SELECT no sólo estás complicando la cosa, sino que además como no filtras bien en sus WHERE, no te está devolviendo datos fiables.

Hay modos más simples:

Código SQL:
Ver original
  1. SELECT
  2.     IdUSuario CAJERO,
  3.     SUM(IF(IdEvento = 1, 1, 0)) VENDIO,
  4.     SUM(IF(IdEvento = 2, 1, 0)) PAGO,
  5.     SUM(IF(IdEvento = 3, 1, 0)) Regalo
  6. FROM logcaja
  7. GROUP BY IdUsuario;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 06/09/2014, 10:00
 
Fecha de Ingreso: julio-2011
Mensajes: 2
Antigüedad: 8 años, 1 mes
Puntos: 0
De acuerdo Respuesta: Problema con sentencia count

Genial, me quedo perfecto, muchisimas gracias

Etiquetas: count, select, sentencia, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:52.