FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#21
|
||||
|
||||
Prueba con esto
De todas maneras, antes de hacer nada, comprueba tal como te han dicho los compañeros que las joins te dan la información que quieres. Es decir, un left join o un right join dependiendo de dónde pongas la tabla de días, deberá darte al menos un registro de cada día. Si en la tabla de datos no hay registros, el valor que sumas deberá ser nulo. haz esto: debe ofrecerte al menos un registro por día, tal como comentaba. A partir de aquí pones el group by , y luego formateas en filas o columnas tal y como ta han comentado. Nos cuentas. Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#22
|
|||
|
|||
Creo que no me he explicado bien sobre los JOIN.
Yo sé como funcionan los diferentes tipos de JOIN, llevo mucho tiempo usándolos, pero en esta ocasión y por algún motivo, no funcionan adecuadamente. Pongo un ejemplo Tengo la siguiente tabla de Recepción Código:
Dia Kgs 01/01/2010.....10 01/01/2010.....20 04/01/2010.....50 Código:
Dia Kgs 1 30 2 0 3 0 4 50 Y hago la siguiente consulta Código SQL [-]select d.dia, rm.suma from dias d left join (select extract(day from fecha) as dia, sum(kgs) as suma from Recepcion where ano = 2010 group by dia ) as rm on d.iddia = rm.dia Y el resultado es Código:
Dia Kgs 1 30 4 50 Código:
Dia Kgs 1 30 2 0 3 0 4 50 Un saludo |
#23
|
|||
|
|||
En las respuestas que me habeis dado, la solución de gluglu es mejor que la mia.
Yo creo una tabla auxiliar DIAS con 31 dias, pero de esta forma supongo que todos los meses tienen 31 días. Sin embargo, gluglu con su PROCEDURE AUTO_INC_DATE va avanzado dia a dia real, de esta forma tiene en cuenta los días reales de cada mes, e incluso los años bisiestos Lo usaré |
#24
|
||||
|
||||
Me alegro que te sirva !
__________________
Piensa siempre en positivo ! |
#25
|
||||
|
||||
Yo tengo Firebird 2.1 instalado también.
He creado una tabla Días, y otra tabla Recepción. He ejecutado tu consulta que indicas arriba, y a mí me devuelve registros en NULL para todos aquellos días en los que no ha habido recepción de mercancías.
__________________
Piensa siempre en positivo ! Última edición por gluglu fecha: 23-03-2011 a las 17:20:59. |
#26
|
||||
|
||||
[quote=PacoPepe;394347]
esta consulta la hice de esta manera y si me sale como tu quieres
__________________
Dulce Regalo que Satanas manda para mi..... |
#27
|
|||
|
|||
Me podeis enviar la bbdd que habeis hecho
Gracias |
#28
|
||||
|
||||
Aplico :
y el resultado que obtengo es :
__________________
Piensa siempre en positivo ! |
#29
|
||||
|
||||
Yo creo que es porque estás haciendo mal la join. No sé porqué metes otra select.
Prueba esto. Debes tener la tabla días con 31 registros.
Luego nos comentas. Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#30
|
|||
|
|||
Cita:
Select D.DIA, sum(R.Kgs) from Dias D left join Recepcion R on D.dia=extract(day from R.fecha) where extract(month from R.fecha)=el_mes and extract(year from R.fecha)=el_año group by D.dia Lo siento pero al editar el post no consigo que se vea como sentencia SQL Última edición por elguille fecha: 25-03-2011 a las 08:04:27. |
#31
|
|||
|
|||
Muchas gracias gluglu, por fin funciona
Os agradezco a todos los que me habeis respondido vuestro interés por resolverme el problema Un saludo a todos |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Resumen de Información | PallyRS | Impresión | 2 | 10-03-2009 15:05:09 |
Resumen | Abuelo7 | Conexión con bases de datos | 18 | 03-10-2008 11:27:45 |
Distribución de ventas mensual | DarkDudae | Varios | 0 | 31-08-2006 14:30:14 |
Consulta resumen con subconsulta(ayuda) | cmena | SQL | 5 | 01-07-2004 00:18:21 |
Consulta Mensual en semanas | el_enigma1 | SQL | 5 | 17-05-2004 15:43:59 |
|