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

Crear Script para obtener faturas por mes y año

Estas en el tema de Crear Script para obtener faturas por mes y año en el foro de SQL Server en Foros del Web. Hola Amigos... Necesito de su valiosa ayuda, pues no tengo mucho conocimiento de lenguaje de programacion para SQL. En mi lugar de trabajo me han ...
  #1 (permalink)  
Antiguo 07/03/2012, 08:11
 
Fecha de Ingreso: agosto-2009
Mensajes: 45
Antigüedad: 14 años, 8 meses
Puntos: 0
Crear Script para obtener faturas por mes y año

Hola Amigos...
Necesito de su valiosa ayuda, pues no tengo mucho conocimiento de lenguaje de programacion para SQL.

En mi lugar de trabajo me han solicitado que genere urgentemente un Script SQL para poder obtener el total de facturas de venta por mes para un periodo de 3 años. ya que necesitan hacer comparaciones .

La verdad no tengo mucha idea de como hacerlo, se que necesito hacer un select count pero no se como hacerlo para obtener ordenada la informacion por mes y por eso me refiero a ustedes.

la tabla llamada FACTURA contiene los siguientes campos:

numfactura (int),
idcliente(int),
fecha_emi(date),
valor(money)

el script debe generar por ejemplo la siguiente informacion de los años 2010 y 2011:

año Mes facturas
2010 enero 2715
2010 febrero 2326
2010 marzo 2845
2010 Diciembre 2830

2011 enero 2451
2011 febrero 1876
2011 marzo 1932

Bueno y asi sucesivamente hasta completar los 12 meses por año...agradecere mucho su valiosa colaboracion para crear este script.

Gracias ...
  #2 (permalink)  
Antiguo 07/03/2012, 09:53
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Crear Script para obtener faturas por mes y año

Hola Totto3:

Cuál es en realidad tu problema? me gustaría que nos dijeras en primer lugar qué es lo que haz intentado hacer...

Desde mi punto de vista, la consulta no es complicada. Lo único que tendrías que hacer es agrupar por año y mes y obtener un count... para separar el año y el mes lo haces con las funciones de fecha de SQL Server:

Código SQL:
Ver original
  1. SELECT
  2. getdate() fecha_actual,
  3. YEAR(getdate()) [año],
  4. MONTH(getdate()) mes_numerico,
  5. datename(MONTH, getdate()) nombre_mes;
  6.  
  7. fecha_actual            año         mes_numerico nombre_mes
  8. ----------------------- ----------- ------------ ------------------------------
  9. 2012-03-07 09:46:14.243 2012        3            March

El nombre del mes lo pone de acuerdo al idioma del servidor, si aparecen en inglés y los quieres español pregunta a SAN GOOGLE como hacerlo o busca en este mismo foro, ese tema se ha tratado muchas veces.

Haz la prueba, si tienes problemas postea algo de lo que haz intentado hacer y con gusto te ayudamos a afinar la consulta.

Saludos
Leo.
  #3 (permalink)  
Antiguo 07/03/2012, 09:57
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Crear Script para obtener faturas por mes y año

Eso mismo iba (tiempo pasado) a preguntar, ¿cual es el problema?
__________________
MCTS Isaias Islas
  #4 (permalink)  
Antiguo 07/03/2012, 10:05
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Crear Script para obtener faturas por mes y año

Cita:
Iniciado por iislas Ver Mensaje
Eso mismo iba (tiempo pasado) a preguntar, ¿cual es el problema?
El problema es: No se como hacerlo, no tengo idea, y me da pereza andar buscando una solucion en google, mejor voy a un foro y ahi me dan todo ya echo :)

jejejejej
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 08/03/2012, 11:12
 
Fecha de Ingreso: enero-2009
Mensajes: 7
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Crear Script para obtener faturas por mes y año

Gracias Leonardo por tu aporte...y por las observaciones de los otros amigos solo les puedo decir que aveces las urgencias no dan tiempo, es como cuando estas mal de salud necesitas tratamiento de inmediato...

pero gracias Leornardo me has servido mucho tu explicacion...y logre salir con lo solicitado x el usuario.

esto fue lo que realice...

SELECT TO_CHAR (fec_emi, 'YYYY') ano, TO_CHAR (fec_emi, 'Month') mes,
COUNT (factura) registros
FROM ventas
WHERE TO_CHAR (fec_emi, 'YYYY') = 2012
GROUP BY TO_CHAR (fec_emi, 'YYYY'), TO_CHAR (fec_emi, 'Month');


Gracias...
  #6 (permalink)  
Antiguo 08/03/2012, 11:33
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Crear Script para obtener faturas por mes y año

TO_CHAR????, O sea, aparte de todo, ni SQL Server es tu motor........
__________________
MCTS Isaias Islas
  #7 (permalink)  
Antiguo 08/03/2012, 11:39
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Crear Script para obtener faturas por mes y año

Hola rotsen, no sé si eses el autor del post (Totto3), pero me da gusto saber que te sirvió la idea... veo que no estás utilizando SQL Server (por la sintaxis, me imagino que trabajas con ORACLE) pero lo bueno es que pudiste resolver tu problema.

En cuanto a tu comentario:

Cita:
aveces las urgencias no dan tiempo, es como cuando estas mal de salud necesitas tratamiento de inmediato...
Aun el mejor doctor puede fallar en el diagnóstico si el paciente no describe todos los síntomas, no es lo mismo un dolor de cabeza a un tumor cerebral . Es preferible tomarte tu tiempo para redactar un buen post y explicar perfectamente tu problema, y no necesitas escribir 20 cuartillas (no estamos pidiendo un ensayo), en el futuro trata siempre de incluir estos detalles en tu post.
  • Versión/Edición de tu BD
  • Estructura de tu(s) tabla(s)
  • Algunos datos de ejemplo
  • Qué es lo que deseas obtener
  • Qué es lo que haz intentado hacer y
  • Qué problemas/errores tienes con la consulta que intentaste hacer.

Saludos
Leo

Etiquetas: año, fecha, select, sql, tabla, campos
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:59.