Foros del Web » Programando para Internet » ASP Clásico »

Sentencia SQL: extraer las ventas en un año

Estas en el tema de Sentencia SQL: extraer las ventas en un año en el foro de ASP Clásico en Foros del Web. Hola, como siempre, ando medio perdido con el tema de las sentencias sql. Necesito extraer las ventas que realizó un negocio al año, pero como ...
  #1 (permalink)  
Antiguo 27/07/2005, 09:28
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 20 años, 1 mes
Puntos: 9
Sentencia SQL: extraer las ventas en un año

Hola, como siempre, ando medio perdido con el tema de las sentencias sql. Necesito extraer las ventas que realizó un negocio al año, pero como hago para agrupar esas ventas por mes?. Tengo esta sentencia:

Código:
  "SELECT SUM(DET_PRECIO*DET_CANTIDAD) AS SAILS, PXA_FECHA " & _
  "FROM PRO_PRODUCTOS PRO, PXA_PEDXAFI PXA, DET_DETALLE DET " & _
  "WHERE PXA.PXA_ID = DET.DET_PEDID AND DET.DET_PROID = PRO.PRO_ID AND PRO.PRO_AFIID = 1 " & _
  "GROUP BY PXA_FECHA"
Lo que consigo con esa sentencia es tener todas las ventas (en pesos) de un determinado negocio, pero agrupado por día. Necesitaría que salga agrupado por mes, para que sirva de fuente de datos de las estadísticas que estoy realizando.
Como sería la sentencia correcta?, habría que estructurar de otra forma el campo fecha para lograrlo?. En este momento tengo el formato aaaa/mm/dd, se me ocurre que separando el mes en un campo distinto se puede hacer, pero no quiero agregar un campo solamente para eso.
Mi segunda pregunta, y la infaltable, es respecto al rendimiento de esta sentencia. No recuerdo bien en este momento donde fue que leí o si me lo comentaron, pero si recuerdo que mencionaban que ese tipo de sentencias pueden causar grandes gastos de los recursos del servidor. Recomendaban usar sentencias INNER JOIN para lograr la unión entre tablas. ¿Están de acuerdo con eso?.
Muchas gracias como siempre.
Saludos!.
__________________
Add, never Remove
  #2 (permalink)  
Antiguo 27/07/2005, 09:51
 
Fecha de Ingreso: junio-2005
Mensajes: 114
Antigüedad: 19 años, 10 meses
Puntos: 0
Yo utilizo YYYYMM

Depende de en BD lo estés haciendo, en Oracle normalmente utilizo

DTOC(<fecha>,'YYYYMM')

formato año(4 digitos)+mes(2 digitos), funciona muy bien para hacer eso.
  #3 (permalink)  
Antiguo 27/07/2005, 10:10
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 20 años, 1 mes
Puntos: 9
Claro, algo así es lo que tenía pensado, supongo que no queda otra que separar los campos.
Gracias!.
__________________
Add, never Remove
  #4 (permalink)  
Antiguo 27/07/2005, 13:28
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 20 años, 1 mes
Puntos: 9
Le di ese formato al campo para después agruparlo mediante el mismo, pero si bien en Access queda guardado en ese formato, cuando saco los resultados por pantalla me devuelve la fecha completa, y en definitiva, me da los mismos resultados que con la sentencia anterior.
Alguna sugerencia?
Saludos!.
__________________
Add, never Remove
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 11:36.