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

Consulta

Estas en el tema de Consulta en el foro de Mysql en Foros del Web. Hola amigos tengo una tabla llamada gratificacion tal y como se muestra en la figura http://www.subeimagenes.com/img/suma-209703.html Por favor es urgente eso tiene q sumarse por ...
  #1 (permalink)  
Antiguo 21/03/2012, 10:29
 
Fecha de Ingreso: enero-2012
Mensajes: 158
Antigüedad: 12 años, 3 meses
Puntos: 1
Mensaje Consulta

Hola amigos tengo una tabla llamada gratificacion tal y como se muestra en la figura

http://www.subeimagenes.com/img/suma-209703.html

Por favor es urgente eso tiene q sumarse por columnas si la columna tiene 2 registros no suma si tiene mayor o igual 3 registros se suma

he puesto este codigo y no me funciona


SELECT gratificacion.id_gratificacion, IF( count( gratificacion.comisiones ) >2, SUM( gratificacion.comisiones ) , NULL ) AS comisiones, IF( count( gratificacion.asignaciones ) >2, SUM( gratificacion.asignaciones ) , NULL ) AS asignaciones, IF( count( gratificacion.bonificaciones ) >2, SUM( gratificacion.bonificaciones ) , NULL ) AS bonificaciones
FROM gratificacion



en que estoy fallando saludos
  #2 (permalink)  
Antiguo 22/03/2012, 03:05
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Consulta

Código MySQL:
Ver original
  1. SELECT IF( SUM(IF( gratificacion.comisiones IS NULL,0,1 )) >2,
  2.                     SUM( gratificacion.comisiones ) , NULL ) AS comisiones,
  3.             IF( SUM(IF( gratificacion.asignaciones IS NULL,0,1 )) >2,
  4.                     SUM( gratificacion.asignaciones ) , NULL ) AS asignaciones,
  5.             IF( SUM(IF(gratificacion.bonificaciones IS NULL,0,1 )) >2,
  6.                    SUM( gratificacion.bonificaciones ) , NULL ) AS bonificaciones
  7. FROM gratificacion;

Curioso!!!
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 22/03/2012, 09:27
 
Fecha de Ingreso: enero-2012
Mensajes: 158
Antigüedad: 12 años, 3 meses
Puntos: 1
Mensaje Respuesta: Consulta

Mucchas gracias llegue a resolverlo era asi
SELECT IF( SUM( IF( gratificacion.comisiones >0, 1, 0 ) ) >=3, SUM( gratificacion.comisiones ) , NULL ) AS COMISIONES, IF( SUM( IF( gratificacion.asignaciones >0, 1, 0 ) ) >=3, SUM( gratificacion.asignaciones ) , NULL ) AS ASIGNACIONES, IF( SUM( IF( gratificacion.bonificaciones >0, 1, 0 ) ) >=3, SUM( gratificacion.bonificaciones ) , NULL ) AS BONIFICACIONES
FROM gratificacion
  #4 (permalink)  
Antiguo 22/03/2012, 13:00
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Consulta

Si... >=3 o >2 en este caso es exactamente lo mismo!!!

Y ojo, NULL no es lo mismo que 0, en tu ejemplo eran nulos no ceros...
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Etiquetas: registros, select, tabla
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 21:46.