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

agrupar por campos calculados

Estas en el tema de agrupar por campos calculados en el foro de SQL Server en Foros del Web. Hola a todos. Tengo el siguiente problema, tengo un select de una tabla (en realidad de dos) en la que debo agrupar datos para dar ...
  #1 (permalink)  
Antiguo 29/07/2008, 11:44
 
Fecha de Ingreso: abril-2007
Mensajes: 140
Antigüedad: 17 años, 1 mes
Puntos: 3
agrupar por campos calculados

Hola a todos. Tengo el siguiente problema, tengo un select de una tabla (en realidad de dos) en la que debo agrupar datos para dar todales, pero por campos calculados. Por ejemplo, la fecha del datetime y una condicion de la hora del datetime (mañana o tarde). O sea, por ejemplo 2008-07-12 10:00 y 2008-07-12 16:00 no van juntas porque si bien la fecha es la misma el rango de horas no. Hay otros campos calculados que van en el group by pero veo que no puedo ponerlos. Alguna idea??? Desde ya muchas gracias.
  #2 (permalink)  
Antiguo 29/07/2008, 13:34
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Respuesta: agrupar por campos calculados

Pues no me quedo muy claro, pero si la hora de la fecha es entre las 0 y las 11:59, son DIAS, y si pasa de estas, son NOCHES, me queda claro, ¿es eso?
  #3 (permalink)  
Antiguo 29/07/2008, 14:40
 
Fecha de Ingreso: junio-2008
Mensajes: 7
Antigüedad: 16 años
Puntos: 0
Respuesta: agrupar por campos calculados

Que tal si usas 2 Consultas

WHERE fecha BETWEEN 'aaaa/mm/dd: hh:mm:ss' AND 'aaaa/mm/dd: hh:mm:ss'
si tu consideras que la mañana es

WHERE fecha BETWEEN 'aaaa/mm/dd: 06:00:00 a. m.' AND 'aaaa/mm/dd: 11:59:59 a.m.'

Tarde

WHERE fecha BETWEEN 'aaaa/mm/dd: 12:00:00 p. m.' AND 'aaaa/mm/dd: 10:00:00 p.m.'


Y el mismo sql te obliga a agrupar por algunos campor
GROUP BY FECHA
  #4 (permalink)  
Antiguo 29/07/2008, 16:12
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Respuesta: agrupar por campos calculados

Opssss, yo no utilizaria BETWEEN para comparar fechas, pero es a gusto del cliente.
  #5 (permalink)  
Antiguo 30/07/2008, 08:07
 
Fecha de Ingreso: abril-2007
Mensajes: 140
Antigüedad: 17 años, 1 mes
Puntos: 3
Respuesta: agrupar por campos calculados

Gracias a todos porque use un poco de cada cosa que me dijeron y la cosa funciono bien. Muchas gracias.
  #6 (permalink)  
Antiguo 30/07/2008, 08:27
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 9 meses
Puntos: 39
Exclamación Por que no usar BETWEEN para comparar fechas

Cita:
Iniciado por iislas Ver Mensaje
Opssss, yo no utilizaria BETWEEN para comparar fechas, pero es a gusto del cliente.
iislas, hace tiempo que vengo leyendo esto. ¿Por qué no fundamentas lo que dices? Pon ejemplos. De repente es la versión que usas.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #7 (permalink)  
Antiguo 30/07/2008, 18:20
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Respuesta: agrupar por campos calculados

No es por la version, he leido articulos al respecto sobre le manejo de fechas en SQL Server (y otros motores).

Aqui 2 muy interesantes:

http://www.mug.org.ar/SQL/ArticSQL/240.aspx
http://www.crostonectingpeople.com/2...sql-sever.html

Bueno y me tome la libertad de hacer algunos ejercicios con MILLONES de registros y ni hablar, el formato ANSI con >= y <=, va mucho mas rapido.

Saludos
  #8 (permalink)  
Antiguo 30/07/2008, 21:33
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 9 meses
Puntos: 39
Respuesta: agrupar por campos calculados

Muy interesante, pero creo que el principal problema que tocan (el idioma) se puede solucionar facilmente con SET LANGUAGE y ya no seria necesario cambiar a ANSI, un formato (o estandar) que a mi parecer no es agradable a la vista.
Ahora, en cuanto a la rapidez no puedo decir porque no he comparado ambas formas, pero si tu has probado, entonces te creo.
Gracias por el dato.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #9 (permalink)  
Antiguo 31/07/2008, 08:26
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Respuesta: agrupar por campos calculados

flaviovich

El formato ANSI, es para evitar problemas de migracion de bases de datos o escalonamiento hacia otros motores, que sea de forma "trasparente" y no tengas quebraderos de cabeza por compatibilidad de datos.

Saludos.
  #10 (permalink)  
Antiguo 31/07/2008, 08:51
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 5 meses
Puntos: 38
Respuesta: agrupar por campos calculados

De acuerdo con el uso de formato ANSI...

me ha ahorrado mucho tiempo de modificaciones y dolores de cabeza...

Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #11 (permalink)  
Antiguo 31/07/2008, 10:49
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 9 meses
Puntos: 39
Exclamación Sobre ANSI

Cita:
Iniciado por iislas Ver Mensaje
flaviovich

El formato ANSI, es para evitar problemas de migracion de bases de datos o escalonamiento hacia otros motores, que sea de forma "trasparente" y no tengas quebraderos de cabeza por compatibilidad de datos.

Saludos.
A eso queria llegar: ANSI no es obligatorio para consulta de busquedas por fecha, a menos que tengas millones de registros (segun tus palabras). Pero si es recomendable para evitar "dolores de cabeza".
En fin, no pretendo abrir un debate sobre el uso de ANSI, sino que lo que quiero decir es, que no es bueno instigar su uso.
Eso es todo :)
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #12 (permalink)  
Antiguo 31/07/2008, 11:39
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 5 meses
Puntos: 38
Respuesta: agrupar por campos calculados

Es correcto, no se instiga; solo se recomienda. Por experiencia propia.

Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #13 (permalink)  
Antiguo 31/07/2008, 12:10
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Respuesta: agrupar por campos calculados

Exacto, se recomimenda, como el uso del CONDON (¿?), pero no se obliga............Saludos (No more comments)
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 00:43.