Sumar Columnas SQL??

04/03/2005 - 14:35 por Carlos | Informe spam
Buenas Tardes,

Necesito sumar una columna de datos de tipo int(4), pero requiero utilizar
una columna de tipo datetime(8) como referencia para realizar la suma, es
decir, que sume los valores de la columna de datos tipo int(4) que esten el
rango de hora de la columna datetime(8)

Si estuviese utilizando otra columna como referencia como por ejemplo una
columna con un valor fijo la suma se realiza sin problemas pero cuando
utilizo la columna datetime(8)con un rango de hora para realizar la suma el
resultado son varias filas de datos cuando deberian ser solamente una.

Estoy Utilizando la siguiente consulta:

SELECT Sum(Transaction) AS Total, StandNumber, StartTime
FROM SummaryShifts
GROUP BY StandNumber, StartTime
HAVING (((SummaryShifts.StandNumber)=2) AND ((SummaryShifts.StartTime)
Between #1/1/1900 7:0:0# And #1/1/1900 18:0:0#));

Creo que necesito realizar la conversion de la columna, pero no se como, de
antemano muchas gracias por la ayuda

Preguntas similare

Leer las respuestas

#6 Maxi
04/03/2005 - 18:05 | Informe spam
Hola, quizas algo asi te ayude

SELECT Sum(Transaction) AS Total, StandNumber
FROM SummaryShifts where (((StandNumber)=2) AND ((SummaryShifts.StartTime)
Between '07:00' And
'18:00'))
GROUP BY StandNumber, CONVERT(VARCHAR(10),SummaryShifts.StartTime,108)




Salu2
Maxi


"Carlos" escribió en el mensaje
news:
ok, necesito sumar los datos de una columna que esten en el rango de una
hora
especifica, por ejemplo quiero saber cuantas transacciones hay entre las
7:00
am y las 6:00 pm.

Es decir la consulta deberia arrojar la suma de las transacciones que se
hicieron entre las 7:00 am y 6:00 pm, no una cantidad x de filas no
sumadas
(o por lo menos eso es lo que veo), las transaciones se almacenan en una
columna y la hora(starttime) en otra.

Me gustaria poder obtener total de transacciones que hay en un rango de
horas definido,

como puedo hacerlo?? o que estoy haciendo mal en la consulta anterior

SELECT Sum(Transaction) AS Total, StandNumber,StartTime
FROM SummaryShifts
GROUP BY StandNumber, StartTime,
CONVERT(VARCHAR(10),SummaryShifts.StartTime,108)
HAVING (((StandNumber)=2) AND ((SummaryShifts.StartTime) Between '07:00'
And
'18:00'))

Gracias por la ayuda, saludos



P.D, 'starttime' es el nombre de la columna

"Maxi" wrote:

Hola a ver, con que criterio dices eso? ya que hay distintos startTime
con
lo cual pasa lo correcto, porque indicas que el starttime solo deberia
ser
08:06:51.000



Salu2
Maxi


"Carlos" escribió en el mensaje
news:
> Me sigue arrojando 'n' cantidad de columnas y no suma la columna que
> deseo,
> la estoy colocando asi:
>
> SELECT Sum(Transaction) AS Total, StandNumber,StartTime
> FROM SummaryShifts
> GROUP BY StandNumber, StartTime,
> CONVERT(VARCHAR(10),SummaryShifts.StartTime,108)
> HAVING (((StandNumber)=2) AND ((SummaryShifts.StartTime) Between
> '07:00'
> And
> '18:00'))
>
> El resultado es el siguiente:
>
> Total StandNumber StartTime
> 0 2 1900-01-01 08:06:51.000
> 0 2 1900-01-01 08:20:05.000
> 0 2 1900-01-01 08:26:40.000
> 0 2 1900-01-01 08:34:02.000
> 43 2 1900-01-01 08:34:22.000
> 68 2 1900-01-01 08:36:58.000
> 2 2 1900-01-01 08:45:28.000
> 28 2 1900-01-01 08:46:15.000
> 59 2 1900-01-01 08:48:08.000
> 30 2 1900-01-01 08:49:31.000
> 0 2 1900-01-01 08:51:02.000
> 126 2 1900-01-01 08:51:42.000
> 0 2 1900-01-01 09:01:43.000
> 0 2 1900-01-01 09:02:02.000
> 66 2 1900-01-01 09:04:23.000
> 66 2 1900-01-01 09:04:52.000
> 0 2 1900-01-01 09:07:12.000
> 0 2 1900-01-01 09:08:48.000
> 127 2 1900-01-01 09:15:01.000
> 30 2 1900-01-01 09:17:08.000
>
>
> El resultado deberia ser la suma total de la primera columna
> deberia quedar algo asi mas o menos
>
> Total StandNumber StartTime
> 230 2 1900-01-01 08:06:51.000
>
>
>
>
>
>
> "Maxi" wrote:
>
>> Hola, si solo queres ver la fecha debes convertirlo por ej asi
>>
>> CONVERT(VARCHAR(10),FECHA,108), esto en el group by claro ;)
>>
>>
>> Salu2
>> Maxi
>>
>>
>> "Carlos" escribió en el mensaje
>> news:
>> > Buenas Tardes,
>> >
>> > Necesito sumar una columna de datos de tipo int(4), pero requiero
>> > utilizar
>> > una columna de tipo datetime(8) como referencia para realizar la
>> > suma,
>> > es
>> > decir, que sume los valores de la columna de datos tipo int(4) que
>> > esten
>> > el
>> > rango de hora de la columna datetime(8)
>> >
>> > Si estuviese utilizando otra columna como referencia como por
>> > ejemplo
>> > una
>> > columna con un valor fijo la suma se realiza sin problemas pero
>> > cuando
>> > utilizo la columna datetime(8)con un rango de hora para realizar la
>> > suma
>> > el
>> > resultado son varias filas de datos cuando deberian ser solamente
>> > una.
>> >
>> > Estoy Utilizando la siguiente consulta:
>> >
>> > SELECT Sum(Transaction) AS Total, StandNumber, StartTime
>> > FROM SummaryShifts
>> > GROUP BY StandNumber, StartTime
>> > HAVING (((SummaryShifts.StandNumber)=2) AND
>> > ((SummaryShifts.StartTime)
>> > Between #1/1/1900 7:0:0# And #1/1/1900 18:0:0#));
>> >
>> > Creo que necesito realizar la conversion de la columna, pero no se
>> > como,
>> > de
>> > antemano muchas gracias por la ayuda
>> >
>> >
>> >
>>
>>
>>



Respuesta Responder a este mensaje
#7 Carlos
04/03/2005 - 19:59 | Informe spam
ok el script de Maxi me arroja lo siguiente:

Total StandNumber StartTime
0 2 1900-01-01 08:06:51.000
0 2 1900-01-01 08:20:05.000
0 2 1900-01-01 08:26:40.000
0 2 1900-01-01 08:34:02.000
43 2 1900-01-01 08:34:22.000
68 2 1900-01-01 08:36:58.000
2 2 1900-01-01 08:45:28.000

El Script de Tinoco me arroja lo siguiente:

Column 'StartTime' is invalid in the HAVING clause because it is not
contained in either an aggregate function or the GROUP BY clause.

que puede estar pasando???

"Maxi" wrote:

Hola, quizas algo asi te ayude

SELECT Sum(Transaction) AS Total, StandNumber
FROM SummaryShifts where (((StandNumber)=2) AND ((SummaryShifts.StartTime)
Between '07:00' And
'18:00'))
GROUP BY StandNumber, CONVERT(VARCHAR(10),SummaryShifts.StartTime,108)




Salu2
Maxi


"Carlos" escribió en el mensaje
news:
> ok, necesito sumar los datos de una columna que esten en el rango de una
> hora
> especifica, por ejemplo quiero saber cuantas transacciones hay entre las
> 7:00
> am y las 6:00 pm.
>
> Es decir la consulta deberia arrojar la suma de las transacciones que se
> hicieron entre las 7:00 am y 6:00 pm, no una cantidad x de filas no
> sumadas
> (o por lo menos eso es lo que veo), las transaciones se almacenan en una
> columna y la hora(starttime) en otra.
>
> Me gustaria poder obtener total de transacciones que hay en un rango de
> horas definido,
>
> como puedo hacerlo?? o que estoy haciendo mal en la consulta anterior
>
> SELECT Sum(Transaction) AS Total, StandNumber,StartTime
> FROM SummaryShifts
> GROUP BY StandNumber, StartTime,
> CONVERT(VARCHAR(10),SummaryShifts.StartTime,108)
> HAVING (((StandNumber)=2) AND ((SummaryShifts.StartTime) Between '07:00'
> And
> '18:00'))
>
> Gracias por la ayuda, saludos
>
>
>
> P.D, 'starttime' es el nombre de la columna
>
> "Maxi" wrote:
>
>> Hola a ver, con que criterio dices eso? ya que hay distintos startTime
>> con
>> lo cual pasa lo correcto, porque indicas que el starttime solo deberia
>> ser
>> 08:06:51.000
>>
>>
>>
>> Salu2
>> Maxi
>>
>>
>> "Carlos" escribió en el mensaje
>> news:
>> > Me sigue arrojando 'n' cantidad de columnas y no suma la columna que
>> > deseo,
>> > la estoy colocando asi:
>> >
>> > SELECT Sum(Transaction) AS Total, StandNumber,StartTime
>> > FROM SummaryShifts
>> > GROUP BY StandNumber, StartTime,
>> > CONVERT(VARCHAR(10),SummaryShifts.StartTime,108)
>> > HAVING (((StandNumber)=2) AND ((SummaryShifts.StartTime) Between
>> > '07:00'
>> > And
>> > '18:00'))
>> >
>> > El resultado es el siguiente:
>> >
>> > Total StandNumber StartTime
>> > 0 2 1900-01-01 08:06:51.000
>> > 0 2 1900-01-01 08:20:05.000
>> > 0 2 1900-01-01 08:26:40.000
>> > 0 2 1900-01-01 08:34:02.000
>> > 43 2 1900-01-01 08:34:22.000
>> > 68 2 1900-01-01 08:36:58.000
>> > 2 2 1900-01-01 08:45:28.000
>> > 28 2 1900-01-01 08:46:15.000
>> > 59 2 1900-01-01 08:48:08.000
>> > 30 2 1900-01-01 08:49:31.000
>> > 0 2 1900-01-01 08:51:02.000
>> > 126 2 1900-01-01 08:51:42.000
>> > 0 2 1900-01-01 09:01:43.000
>> > 0 2 1900-01-01 09:02:02.000
>> > 66 2 1900-01-01 09:04:23.000
>> > 66 2 1900-01-01 09:04:52.000
>> > 0 2 1900-01-01 09:07:12.000
>> > 0 2 1900-01-01 09:08:48.000
>> > 127 2 1900-01-01 09:15:01.000
>> > 30 2 1900-01-01 09:17:08.000
>> >
>> >
>> > El resultado deberia ser la suma total de la primera columna
>> > deberia quedar algo asi mas o menos
>> >
>> > Total StandNumber StartTime
>> > 230 2 1900-01-01 08:06:51.000
>> >
>> >
>> >
>> >
>> >
>> >
>> > "Maxi" wrote:
>> >
>> >> Hola, si solo queres ver la fecha debes convertirlo por ej asi
>> >>
>> >> CONVERT(VARCHAR(10),FECHA,108), esto en el group by claro ;)
>> >>
>> >>
>> >> Salu2
>> >> Maxi
>> >>
>> >>
>> >> "Carlos" escribió en el mensaje
>> >> news:
>> >> > Buenas Tardes,
>> >> >
>> >> > Necesito sumar una columna de datos de tipo int(4), pero requiero
>> >> > utilizar
>> >> > una columna de tipo datetime(8) como referencia para realizar la
>> >> > suma,
>> >> > es
>> >> > decir, que sume los valores de la columna de datos tipo int(4) que
>> >> > esten
>> >> > el
>> >> > rango de hora de la columna datetime(8)
>> >> >
>> >> > Si estuviese utilizando otra columna como referencia como por
>> >> > ejemplo
>> >> > una
>> >> > columna con un valor fijo la suma se realiza sin problemas pero
>> >> > cuando
>> >> > utilizo la columna datetime(8)con un rango de hora para realizar la
>> >> > suma
>> >> > el
>> >> > resultado son varias filas de datos cuando deberian ser solamente
>> >> > una.
>> >> >
>> >> > Estoy Utilizando la siguiente consulta:
>> >> >
>> >> > SELECT Sum(Transaction) AS Total, StandNumber, StartTime
>> >> > FROM SummaryShifts
>> >> > GROUP BY StandNumber, StartTime
>> >> > HAVING (((SummaryShifts.StandNumber)=2) AND
>> >> > ((SummaryShifts.StartTime)
>> >> > Between #1/1/1900 7:0:0# And #1/1/1900 18:0:0#));
>> >> >
>> >> > Creo que necesito realizar la conversion de la columna, pero no se
>> >> > como,
>> >> > de
>> >> > antemano muchas gracias por la ayuda
>> >> >
>> >> >
>> >> >
>> >>
>> >>
>> >>
>>
>>
>>



Respuesta Responder a este mensaje
#8 Maxi
04/03/2005 - 20:08 | Informe spam
Carlos, podes escribir textualmente como has puesto el script que te pase?


Salu2
Maxi


"Carlos" escribió en el mensaje
news:
ok el script de Maxi me arroja lo siguiente:

Total StandNumber StartTime
0 2 1900-01-01 08:06:51.000
0 2 1900-01-01 08:20:05.000
0 2 1900-01-01 08:26:40.000
0 2 1900-01-01 08:34:02.000
43 2 1900-01-01 08:34:22.000
68 2 1900-01-01 08:36:58.000
2 2 1900-01-01 08:45:28.000

El Script de Tinoco me arroja lo siguiente:

Column 'StartTime' is invalid in the HAVING clause because it is not
contained in either an aggregate function or the GROUP BY clause.

que puede estar pasando???

"Maxi" wrote:

Hola, quizas algo asi te ayude

SELECT Sum(Transaction) AS Total, StandNumber
FROM SummaryShifts where (((StandNumber)=2) AND
((SummaryShifts.StartTime)
Between '07:00' And
'18:00'))
GROUP BY StandNumber, CONVERT(VARCHAR(10),SummaryShifts.StartTime,108)




Salu2
Maxi


"Carlos" escribió en el mensaje
news:
> ok, necesito sumar los datos de una columna que esten en el rango de
> una
> hora
> especifica, por ejemplo quiero saber cuantas transacciones hay entre
> las
> 7:00
> am y las 6:00 pm.
>
> Es decir la consulta deberia arrojar la suma de las transacciones que
> se
> hicieron entre las 7:00 am y 6:00 pm, no una cantidad x de filas no
> sumadas
> (o por lo menos eso es lo que veo), las transaciones se almacenan en
> una
> columna y la hora(starttime) en otra.
>
> Me gustaria poder obtener total de transacciones que hay en un rango de
> horas definido,
>
> como puedo hacerlo?? o que estoy haciendo mal en la consulta anterior
>
> SELECT Sum(Transaction) AS Total, StandNumber,StartTime
> FROM SummaryShifts
> GROUP BY StandNumber, StartTime,
> CONVERT(VARCHAR(10),SummaryShifts.StartTime,108)
> HAVING (((StandNumber)=2) AND ((SummaryShifts.StartTime) Between
> '07:00'
> And
> '18:00'))
>
> Gracias por la ayuda, saludos
>
>
>
> P.D, 'starttime' es el nombre de la columna
>
> "Maxi" wrote:
>
>> Hola a ver, con que criterio dices eso? ya que hay distintos startTime
>> con
>> lo cual pasa lo correcto, porque indicas que el starttime solo deberia
>> ser
>> 08:06:51.000
>>
>>
>>
>> Salu2
>> Maxi
>>
>>
>> "Carlos" escribió en el mensaje
>> news:
>> > Me sigue arrojando 'n' cantidad de columnas y no suma la columna que
>> > deseo,
>> > la estoy colocando asi:
>> >
>> > SELECT Sum(Transaction) AS Total, StandNumber,StartTime
>> > FROM SummaryShifts
>> > GROUP BY StandNumber, StartTime,
>> > CONVERT(VARCHAR(10),SummaryShifts.StartTime,108)
>> > HAVING (((StandNumber)=2) AND ((SummaryShifts.StartTime) Between
>> > '07:00'
>> > And
>> > '18:00'))
>> >
>> > El resultado es el siguiente:
>> >
>> > Total StandNumber StartTime
>> > 0 2 1900-01-01 08:06:51.000
>> > 0 2 1900-01-01 08:20:05.000
>> > 0 2 1900-01-01 08:26:40.000
>> > 0 2 1900-01-01 08:34:02.000
>> > 43 2 1900-01-01 08:34:22.000
>> > 68 2 1900-01-01 08:36:58.000
>> > 2 2 1900-01-01 08:45:28.000
>> > 28 2 1900-01-01 08:46:15.000
>> > 59 2 1900-01-01 08:48:08.000
>> > 30 2 1900-01-01 08:49:31.000
>> > 0 2 1900-01-01 08:51:02.000
>> > 126 2 1900-01-01 08:51:42.000
>> > 0 2 1900-01-01 09:01:43.000
>> > 0 2 1900-01-01 09:02:02.000
>> > 66 2 1900-01-01 09:04:23.000
>> > 66 2 1900-01-01 09:04:52.000
>> > 0 2 1900-01-01 09:07:12.000
>> > 0 2 1900-01-01 09:08:48.000
>> > 127 2 1900-01-01 09:15:01.000
>> > 30 2 1900-01-01 09:17:08.000
>> >
>> >
>> > El resultado deberia ser la suma total de la primera columna
>> > deberia quedar algo asi mas o menos
>> >
>> > Total StandNumber StartTime
>> > 230 2 1900-01-01 08:06:51.000
>> >
>> >
>> >
>> >
>> >
>> >
>> > "Maxi" wrote:
>> >
>> >> Hola, si solo queres ver la fecha debes convertirlo por ej asi
>> >>
>> >> CONVERT(VARCHAR(10),FECHA,108), esto en el group by claro ;)
>> >>
>> >>
>> >> Salu2
>> >> Maxi
>> >>
>> >>
>> >> "Carlos" escribió en el mensaje
>> >> news:
>> >> > Buenas Tardes,
>> >> >
>> >> > Necesito sumar una columna de datos de tipo int(4), pero requiero
>> >> > utilizar
>> >> > una columna de tipo datetime(8) como referencia para realizar la
>> >> > suma,
>> >> > es
>> >> > decir, que sume los valores de la columna de datos tipo int(4)
>> >> > que
>> >> > esten
>> >> > el
>> >> > rango de hora de la columna datetime(8)
>> >> >
>> >> > Si estuviese utilizando otra columna como referencia como por
>> >> > ejemplo
>> >> > una
>> >> > columna con un valor fijo la suma se realiza sin problemas pero
>> >> > cuando
>> >> > utilizo la columna datetime(8)con un rango de hora para realizar
>> >> > la
>> >> > suma
>> >> > el
>> >> > resultado son varias filas de datos cuando deberian ser solamente
>> >> > una.
>> >> >
>> >> > Estoy Utilizando la siguiente consulta:
>> >> >
>> >> > SELECT Sum(Transaction) AS Total, StandNumber, StartTime
>> >> > FROM SummaryShifts
>> >> > GROUP BY StandNumber, StartTime
>> >> > HAVING (((SummaryShifts.StandNumber)=2) AND
>> >> > ((SummaryShifts.StartTime)
>> >> > Between #1/1/1900 7:0:0# And #1/1/1900 18:0:0#));
>> >> >
>> >> > Creo que necesito realizar la conversion de la columna, pero no
>> >> > se
>> >> > como,
>> >> > de
>> >> > antemano muchas gracias por la ayuda
>> >> >
>> >> >
>> >> >
>> >>
>> >>
>> >>
>>
>>
>>



Respuesta Responder a este mensaje
#9 Carlos
07/03/2005 - 14:29 | Informe spam
ok la consulta que me diste y corri fue esta:

SELECT Sum(Transaction) AS Total, StandNumber
FROM SummaryShifts where (((StandNumber)=2) AND((SummaryShifts.StartTime)
Between '07:00' And
'18:00'))
GROUP BY StandNumber, CONVERT(VARCHAR(10),SummaryShifts.StartTime,108)

Y el Resultado fue este:

Total StandNumber
5 2
39 2
1 2
3 2
0 2
0 2
46 2
17 2
55 2
1 2
0 2
117 2
35 2
119 2
67 2
2 2
192 2
46 2
0 2
25 2
8 2

"Maxi" wrote:

Carlos, podes escribir textualmente como has puesto el script que te pase?


Salu2
Maxi


"Carlos" escribió en el mensaje
news:
> ok el script de Maxi me arroja lo siguiente:
>
> Total StandNumber StartTime
> 0 2 1900-01-01 08:06:51.000
> 0 2 1900-01-01 08:20:05.000
> 0 2 1900-01-01 08:26:40.000
> 0 2 1900-01-01 08:34:02.000
> 43 2 1900-01-01 08:34:22.000
> 68 2 1900-01-01 08:36:58.000
> 2 2 1900-01-01 08:45:28.000
>
> El Script de Tinoco me arroja lo siguiente:
>
> Column 'StartTime' is invalid in the HAVING clause because it is not
> contained in either an aggregate function or the GROUP BY clause.
>
> que puede estar pasando???
>
> "Maxi" wrote:
>
>> Hola, quizas algo asi te ayude
>>
>> SELECT Sum(Transaction) AS Total, StandNumber
>> FROM SummaryShifts where (((StandNumber)=2) AND
>> ((SummaryShifts.StartTime)
>> Between '07:00' And
>> '18:00'))
>> GROUP BY StandNumber, CONVERT(VARCHAR(10),SummaryShifts.StartTime,108)
>>
>>
>>
>>
>> Salu2
>> Maxi
>>
>>
>> "Carlos" escribió en el mensaje
>> news:
>> > ok, necesito sumar los datos de una columna que esten en el rango de
>> > una
>> > hora
>> > especifica, por ejemplo quiero saber cuantas transacciones hay entre
>> > las
>> > 7:00
>> > am y las 6:00 pm.
>> >
>> > Es decir la consulta deberia arrojar la suma de las transacciones que
>> > se
>> > hicieron entre las 7:00 am y 6:00 pm, no una cantidad x de filas no
>> > sumadas
>> > (o por lo menos eso es lo que veo), las transaciones se almacenan en
>> > una
>> > columna y la hora(starttime) en otra.
>> >
>> > Me gustaria poder obtener total de transacciones que hay en un rango de
>> > horas definido,
>> >
>> > como puedo hacerlo?? o que estoy haciendo mal en la consulta anterior
>> >
>> > SELECT Sum(Transaction) AS Total, StandNumber,StartTime
>> > FROM SummaryShifts
>> > GROUP BY StandNumber, StartTime,
>> > CONVERT(VARCHAR(10),SummaryShifts.StartTime,108)
>> > HAVING (((StandNumber)=2) AND ((SummaryShifts.StartTime) Between
>> > '07:00'
>> > And
>> > '18:00'))
>> >
>> > Gracias por la ayuda, saludos
>> >
>> >
>> >
>> > P.D, 'starttime' es el nombre de la columna
>> >
>> > "Maxi" wrote:
>> >
>> >> Hola a ver, con que criterio dices eso? ya que hay distintos startTime
>> >> con
>> >> lo cual pasa lo correcto, porque indicas que el starttime solo deberia
>> >> ser
>> >> 08:06:51.000
>> >>
>> >>
>> >>
>> >> Salu2
>> >> Maxi
>> >>
>> >>
>> >> "Carlos" escribió en el mensaje
>> >> news:
>> >> > Me sigue arrojando 'n' cantidad de columnas y no suma la columna que
>> >> > deseo,
>> >> > la estoy colocando asi:
>> >> >
>> >> > SELECT Sum(Transaction) AS Total, StandNumber,StartTime
>> >> > FROM SummaryShifts
>> >> > GROUP BY StandNumber, StartTime,
>> >> > CONVERT(VARCHAR(10),SummaryShifts.StartTime,108)
>> >> > HAVING (((StandNumber)=2) AND ((SummaryShifts.StartTime) Between
>> >> > '07:00'
>> >> > And
>> >> > '18:00'))
>> >> >
>> >> > El resultado es el siguiente:
>> >> >
>> >> > Total StandNumber StartTime
>> >> > 0 2 1900-01-01 08:06:51.000
>> >> > 0 2 1900-01-01 08:20:05.000
>> >> > 0 2 1900-01-01 08:26:40.000
>> >> > 0 2 1900-01-01 08:34:02.000
>> >> > 43 2 1900-01-01 08:34:22.000
>> >> > 68 2 1900-01-01 08:36:58.000
>> >> > 2 2 1900-01-01 08:45:28.000
>> >> > 28 2 1900-01-01 08:46:15.000
>> >> > 59 2 1900-01-01 08:48:08.000
>> >> > 30 2 1900-01-01 08:49:31.000
>> >> > 0 2 1900-01-01 08:51:02.000
>> >> > 126 2 1900-01-01 08:51:42.000
>> >> > 0 2 1900-01-01 09:01:43.000
>> >> > 0 2 1900-01-01 09:02:02.000
>> >> > 66 2 1900-01-01 09:04:23.000
>> >> > 66 2 1900-01-01 09:04:52.000
>> >> > 0 2 1900-01-01 09:07:12.000
>> >> > 0 2 1900-01-01 09:08:48.000
>> >> > 127 2 1900-01-01 09:15:01.000
>> >> > 30 2 1900-01-01 09:17:08.000
>> >> >
>> >> >
>> >> > El resultado deberia ser la suma total de la primera columna
>> >> > deberia quedar algo asi mas o menos
>> >> >
>> >> > Total StandNumber StartTime
>> >> > 230 2 1900-01-01 08:06:51.000
>> >> >
>> >> >
>> >> >
>> >> >
>> >> >
>> >> >
>> >> > "Maxi" wrote:
>> >> >
>> >> >> Hola, si solo queres ver la fecha debes convertirlo por ej asi
>> >> >>
>> >> >> CONVERT(VARCHAR(10),FECHA,108), esto en el group by claro ;)
>> >> >>
>> >> >>
>> >> >> Salu2
>> >> >> Maxi
>> >> >>
>> >> >>
>> >> >> "Carlos" escribió en el mensaje
>> >> >> news:
>> >> >> > Buenas Tardes,
>> >> >> >
>> >> >> > Necesito sumar una columna de datos de tipo int(4), pero requiero
>> >> >> > utilizar
>> >> >> > una columna de tipo datetime(8) como referencia para realizar la
>> >> >> > suma,
>> >> >> > es
>> >> >> > decir, que sume los valores de la columna de datos tipo int(4)
>> >> >> > que
>> >> >> > esten
>> >> >> > el
>> >> >> > rango de hora de la columna datetime(8)
>> >> >> >
>> >> >> > Si estuviese utilizando otra columna como referencia como por
>> >> >> > ejemplo
>> >> >> > una
>> >> >> > columna con un valor fijo la suma se realiza sin problemas pero
>> >> >> > cuando
>> >> >> > utilizo la columna datetime(8)con un rango de hora para realizar
>> >> >> > la
>> >> >> > suma
>> >> >> > el
>> >> >> > resultado son varias filas de datos cuando deberian ser solamente
>> >> >> > una.
>> >> >> >
>> >> >> > Estoy Utilizando la siguiente consulta:
>> >> >> >
>> >> >> > SELECT Sum(Transaction) AS Total, StandNumber, StartTime
>> >> >> > FROM SummaryShifts
>> >> >> > GROUP BY StandNumber, StartTime
>> >> >> > HAVING (((SummaryShifts.StandNumber)=2) AND
>> >> >> > ((SummaryShifts.StartTime)
>> >> >> > Between #1/1/1900 7:0:0# And #1/1/1900 18:0:0#));
>> >> >> >
>> >> >> > Creo que necesito realizar la conversion de la columna, pero no
>> >> >> > se
>> >> >> > como,
>> >> >> > de
>> >> >> > antemano muchas gracias por la ayuda
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >>
>> >> >>
>> >> >>
>> >>
>> >>
>> >>
>>
>>
>>



Respuesta Responder a este mensaje
#10 Maxi
07/03/2005 - 14:50 | Informe spam
Hola, ponelo asi

SELECT Sum(Transaction) AS Total, StandNumber
FROM SummaryShifts where (((StandNumber)=2) AND((SummaryShifts.StartTime)
Between '07:00' And
'18:00'))
GROUP BY StandNumber


Salu2
Maxi


"Carlos" escribió en el mensaje
news:
ok la consulta que me diste y corri fue esta:

SELECT Sum(Transaction) AS Total, StandNumber
FROM SummaryShifts where (((StandNumber)=2) AND((SummaryShifts.StartTime)
Between '07:00' And
'18:00'))
GROUP BY StandNumber, CONVERT(VARCHAR(10),SummaryShifts.StartTime,108)

Y el Resultado fue este:

Total StandNumber
5 2
39 2
1 2
3 2
0 2
0 2
46 2
17 2
55 2
1 2
0 2
117 2
35 2
119 2
67 2
2 2
192 2
46 2
0 2
25 2
8 2

"Maxi" wrote:

Carlos, podes escribir textualmente como has puesto el script que te
pase?


Salu2
Maxi


"Carlos" escribió en el mensaje
news:
> ok el script de Maxi me arroja lo siguiente:
>
> Total StandNumber StartTime
> 0 2 1900-01-01 08:06:51.000
> 0 2 1900-01-01 08:20:05.000
> 0 2 1900-01-01 08:26:40.000
> 0 2 1900-01-01 08:34:02.000
> 43 2 1900-01-01 08:34:22.000
> 68 2 1900-01-01 08:36:58.000
> 2 2 1900-01-01 08:45:28.000
>
> El Script de Tinoco me arroja lo siguiente:
>
> Column 'StartTime' is invalid in the HAVING clause because it is not
> contained in either an aggregate function or the GROUP BY clause.
>
> que puede estar pasando???
>
> "Maxi" wrote:
>
>> Hola, quizas algo asi te ayude
>>
>> SELECT Sum(Transaction) AS Total, StandNumber
>> FROM SummaryShifts where (((StandNumber)=2) AND
>> ((SummaryShifts.StartTime)
>> Between '07:00' And
>> '18:00'))
>> GROUP BY StandNumber,
>> CONVERT(VARCHAR(10),SummaryShifts.StartTime,108)
>>
>>
>>
>>
>> Salu2
>> Maxi
>>
>>
>> "Carlos" escribió en el mensaje
>> news:
>> > ok, necesito sumar los datos de una columna que esten en el rango de
>> > una
>> > hora
>> > especifica, por ejemplo quiero saber cuantas transacciones hay entre
>> > las
>> > 7:00
>> > am y las 6:00 pm.
>> >
>> > Es decir la consulta deberia arrojar la suma de las transacciones
>> > que
>> > se
>> > hicieron entre las 7:00 am y 6:00 pm, no una cantidad x de filas no
>> > sumadas
>> > (o por lo menos eso es lo que veo), las transaciones se almacenan en
>> > una
>> > columna y la hora(starttime) en otra.
>> >
>> > Me gustaria poder obtener total de transacciones que hay en un rango
>> > de
>> > horas definido,
>> >
>> > como puedo hacerlo?? o que estoy haciendo mal en la consulta
>> > anterior
>> >
>> > SELECT Sum(Transaction) AS Total, StandNumber,StartTime
>> > FROM SummaryShifts
>> > GROUP BY StandNumber, StartTime,
>> > CONVERT(VARCHAR(10),SummaryShifts.StartTime,108)
>> > HAVING (((StandNumber)=2) AND ((SummaryShifts.StartTime) Between
>> > '07:00'
>> > And
>> > '18:00'))
>> >
>> > Gracias por la ayuda, saludos
>> >
>> >
>> >
>> > P.D, 'starttime' es el nombre de la columna
>> >
>> > "Maxi" wrote:
>> >
>> >> Hola a ver, con que criterio dices eso? ya que hay distintos
>> >> startTime
>> >> con
>> >> lo cual pasa lo correcto, porque indicas que el starttime solo
>> >> deberia
>> >> ser
>> >> 08:06:51.000
>> >>
>> >>
>> >>
>> >> Salu2
>> >> Maxi
>> >>
>> >>
>> >> "Carlos" escribió en el mensaje
>> >> news:
>> >> > Me sigue arrojando 'n' cantidad de columnas y no suma la columna
>> >> > que
>> >> > deseo,
>> >> > la estoy colocando asi:
>> >> >
>> >> > SELECT Sum(Transaction) AS Total, StandNumber,StartTime
>> >> > FROM SummaryShifts
>> >> > GROUP BY StandNumber, StartTime,
>> >> > CONVERT(VARCHAR(10),SummaryShifts.StartTime,108)
>> >> > HAVING (((StandNumber)=2) AND ((SummaryShifts.StartTime) Between
>> >> > '07:00'
>> >> > And
>> >> > '18:00'))
>> >> >
>> >> > El resultado es el siguiente:
>> >> >
>> >> > Total StandNumber StartTime
>> >> > 0 2 1900-01-01 08:06:51.000
>> >> > 0 2 1900-01-01 08:20:05.000
>> >> > 0 2 1900-01-01 08:26:40.000
>> >> > 0 2 1900-01-01 08:34:02.000
>> >> > 43 2 1900-01-01 08:34:22.000
>> >> > 68 2 1900-01-01 08:36:58.000
>> >> > 2 2 1900-01-01 08:45:28.000
>> >> > 28 2 1900-01-01 08:46:15.000
>> >> > 59 2 1900-01-01 08:48:08.000
>> >> > 30 2 1900-01-01 08:49:31.000
>> >> > 0 2 1900-01-01 08:51:02.000
>> >> > 126 2 1900-01-01 08:51:42.000
>> >> > 0 2 1900-01-01 09:01:43.000
>> >> > 0 2 1900-01-01 09:02:02.000
>> >> > 66 2 1900-01-01 09:04:23.000
>> >> > 66 2 1900-01-01 09:04:52.000
>> >> > 0 2 1900-01-01 09:07:12.000
>> >> > 0 2 1900-01-01 09:08:48.000
>> >> > 127 2 1900-01-01 09:15:01.000
>> >> > 30 2 1900-01-01 09:17:08.000
>> >> >
>> >> >
>> >> > El resultado deberia ser la suma total de la primera columna
>> >> > deberia quedar algo asi mas o menos
>> >> >
>> >> > Total StandNumber StartTime
>> >> > 230 2 1900-01-01 08:06:51.000
>> >> >
>> >> >
>> >> >
>> >> >
>> >> >
>> >> >
>> >> > "Maxi" wrote:
>> >> >
>> >> >> Hola, si solo queres ver la fecha debes convertirlo por ej asi
>> >> >>
>> >> >> CONVERT(VARCHAR(10),FECHA,108), esto en el group by claro ;)
>> >> >>
>> >> >>
>> >> >> Salu2
>> >> >> Maxi
>> >> >>
>> >> >>
>> >> >> "Carlos" escribió en el
>> >> >> mensaje
>> >> >> news:
>> >> >> > Buenas Tardes,
>> >> >> >
>> >> >> > Necesito sumar una columna de datos de tipo int(4), pero
>> >> >> > requiero
>> >> >> > utilizar
>> >> >> > una columna de tipo datetime(8) como referencia para realizar
>> >> >> > la
>> >> >> > suma,
>> >> >> > es
>> >> >> > decir, que sume los valores de la columna de datos tipo int(4)
>> >> >> > que
>> >> >> > esten
>> >> >> > el
>> >> >> > rango de hora de la columna datetime(8)
>> >> >> >
>> >> >> > Si estuviese utilizando otra columna como referencia como por
>> >> >> > ejemplo
>> >> >> > una
>> >> >> > columna con un valor fijo la suma se realiza sin problemas
>> >> >> > pero
>> >> >> > cuando
>> >> >> > utilizo la columna datetime(8)con un rango de hora para
>> >> >> > realizar
>> >> >> > la
>> >> >> > suma
>> >> >> > el
>> >> >> > resultado son varias filas de datos cuando deberian ser
>> >> >> > solamente
>> >> >> > una.
>> >> >> >
>> >> >> > Estoy Utilizando la siguiente consulta:
>> >> >> >
>> >> >> > SELECT Sum(Transaction) AS Total, StandNumber, StartTime
>> >> >> > FROM SummaryShifts
>> >> >> > GROUP BY StandNumber, StartTime
>> >> >> > HAVING (((SummaryShifts.StandNumber)=2) AND
>> >> >> > ((SummaryShifts.StartTime)
>> >> >> > Between #1/1/1900 7:0:0# And #1/1/1900 18:0:0#));
>> >> >> >
>> >> >> > Creo que necesito realizar la conversion de la columna, pero
>> >> >> > no
>> >> >> > se
>> >> >> > como,
>> >> >> > de
>> >> >> > antemano muchas gracias por la ayuda
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >>
>> >> >>
>> >> >>
>> >>
>> >>
>> >>
>>
>>
>>



Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida