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

Consulta Multiplicar el Conteo (count) por dos si sigue una regla.

Estas en el tema de Consulta Multiplicar el Conteo (count) por dos si sigue una regla. en el foro de Mysql en Foros del Web. tengo una tabla llamada transacciones con las siguientes columnas ticket | Volumen | fecha 1 | 10 | 2009-05-05 10:00:00 2 | 10 | 2009-05-05 ...
  #1 (permalink)  
Antiguo 18/05/2009, 18:00
 
Fecha de Ingreso: marzo-2009
Mensajes: 18
Antigüedad: 15 años
Puntos: 0
Consulta Multiplicar el Conteo (count) por dos si sigue una regla.

tengo una tabla llamada transacciones con las siguientes columnas


ticket | Volumen | fecha

1 | 10 | 2009-05-05 10:00:00
2 | 10 | 2009-05-05 11:00:00
3 | 20 | 2009-05-05 12:00:00
4 | 30 | 2009-05-05 13:00:00
5 | 10 | 2009-05-05 14:00:00
6 | 20 | 2009-05-05 15:00:00
7 | 40 | 2009-05-05 16:00:00
8 | 50 | 2009-05-05 17:00:00



necesito el conteo de tickets mas la sumatoria de volumen con la siguiente regla.


Como podria preguntar que contara el numero de tickets (Count) y si encuentra un volumen mayor que 30 me multiplicara el ticket y el volumen por dos.

o sea si volumen > 30 realice count * 2 y sumatoria de volumen *2




conteo de ticket y volumen sin requerimiento.

count | volumen
8 | 190


ejemplo de conteo de ticket y volumen con el requerimiento.

count | volumen
10 | 280



toma el ticket 7 y 8 como si fueran dos ticket cada uno, ya que el volumen es mayor que 30, o sea se agregaria imaginariamente a la tabla los siguientes valores.

7 | 40 | 2009-05-05 16:00:00
7 | 40 | 2009-05-05 16:00:00
8 | 50 | 2009-05-05 17:00:00
8 | 50 | 2009-05-05 17:00:00

sumando 10 ticket con un volumen total de 280



Ayudenme por favor.
  #2 (permalink)  
Antiguo 18/05/2009, 18:42
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 1 mes
Puntos: 360
Respuesta: Consulta Multiplicar el Conteo (count) por dos si sigue una regla.

Prueba esto tilio

Código mysql:
Ver original
  1. select ((select (count(ticket)*2) from transacciones where volumen > 30)
  2. + (select count(ticket) from transacciones where volumen <=30))conteo,
  3. ((select (sum(volumen)*2) from transacciones where volumen > 30)
  4. + (select sum(volumen) from transacciones where volumen <=30))suma
  5. from transacciones limit 1;

Puede haber una solución mas optima.

Un saludo
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
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 14:18.