SQL Server - Ayuda con consulta SQL (estudiante)

   
Vista:

Ayuda con consulta SQL (estudiante)

Publicado por hernan (2 intervenciones) el 08/10/2017 03:30:07
Buenas. Estoy tratando de realizar la siguiente consulta sobre mi base de datos CINE:

Ingresos totales mensuales por día de proyección, o por temporada (vacaciones de invierno,
de verano, feriados) o por bloques horarios.

Seria algo como:

1
2
3
4
select SUM(total), fecha, id_funcion
from Tickets T inner join Funciones F on
T.nro_ticket=F.id_funcion
where

No se como realizar la clausula where, para definir cada temporada y los bloques horarios. En mi modelo relacional no tengo tabla de temporadas y horarios. Solo el campo fecha y hora.
Que me conviene realizar en este caso?
Muchas gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Ayuda con consulta SQL (estudiante)

Publicado por xve (101 intervenciones) el 08/10/2017 18:31:24
Hola Hernan, no soy un experto en SQL Server, pero si el campo fecha contiene la fecha y hora, tendrias que sacar la hora y agrupar por el dia, de esta manera tendrias el total por dia... algo así:

1
2
3
4
select SUM(total), fecha, id_funcion, CAST(fecha AS DATE)
from Tickets T inner join Funciones F on
T.nro_ticket=F.id_funcion
GROUP BY CAST(fecha AS DATE)

A partir de aquí, puedes poner condicionales de fecha para meses o temporadas...

1
2
3
4
5
select SUM(total), fecha, id_funcion, CAST(fecha AS DATE)
from Tickets T inner join Funciones F on
T.nro_ticket=F.id_funcion
GROUP BY CAST(fecha AS DATE)
WHERE datepart(month,fecha)>1 AND datepart(month,fecha)<8

Te sirve?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con consulta SQL (estudiante)

Publicado por hernan (2 intervenciones) el 08/10/2017 19:34:30
Gracias por tu respuesta xve, si me sirvió tu ayuda.
Estoy pensando en la parte de ingresos totales mensuales por dia.
Se podrá poner algo asi?

1
2
3
4
5
select SUM(total) as 'Total', id_funcion as 'Funcion', DATEPART(month, Fecha) as 'Mes', DATEPART(day, Fecha) as 'Dia'
from
Tickets T inner join Funciones F on
T.nro_ticket=F.id_funcion
GROUP BY DATEPART(month, fecha), DATEPART(day, Fecha)


Me agrupara por mes y por dia?

Gracias de nuevo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar