
ayuda porfavor no se como hacerlo
Publicado por triny (12 intervenciones) el 12/06/2015 05:36:07
Saludos a todos
Estoy usando sql server 2012
Tengo 2 tablas
Ingresos y egresos
Presupuesto
La tabla ingresos y egresos contiene los siguientes campos
Código cliente /Proveedor
fecha de documento
Proyecto
total gastado
documento
Código cliente /Proveedor documento fecha de documento Proyecto total
c00001 345 15/05/2012 jardinería 4500 c0002 123 31/9/2015 mantenimiento 1300
c00004 234 1/02/2013 papelería 300
p00034 346 21/05/2015 jardinería 5000
p00035 453 5/05/2012 administración 2000
La tabla de Presupuesto (contiene el presupuestos por mes y año de cada proyecto)
Proyecto
mes
Año
Presupuesto
Proyecto mes año presupuesto
jardinería 01 2012 5000
jardinería 02 2013 4500
jardinería 03 2013 5000
jardinería 05 2012 5000
Papelería 01 2014 300
papelería 02 2015 300
mantenimiento 09 2015 2000
lo que tengo que hacer es obter el presupuesto mensual por ducumento enbase a la fecha y mes
que es esto
select year(b.[fecha contable]) 'año', month(b.[fecha contable]) 'Mes',b.[Nombre de Proyecto] 'Proyecto', b.Documento 'Documento',a.U_Presupuesto 'Presupuesto Mensual' , b.Codigo
'Codigo', b.total 'Total'
from [NvaGalicia].[dbo].[@PRESUPUESTO] as a inner join [NvaGalicia].[dbo].[IngresosEgresosNvaGalicia] as b
on a.U_PrjName=b.[Nombre de Proyecto]
group by year(b.[fecha contable]), month(b.[fecha contable]),b.[Nombre de Proyecto] , b.Documento ,a.U_Presupuesto , b.Codigo, b.total
pero lo que no se hacer es validar es si en mi tabla de ingresos y egresos en algún mes , año y proyecto no existiera ningún documento , hay que mostrarlo
por ejemplo
Año mes Proyecto documento Presupuesto Mensual código total
2013 03 Jardineria xxxxx 5000 xxxxx 0
y el reporte mostraría las coincidencias encontradas en la tabla de ingres y egresos ,mas los registros del presupuesto mensual donde no hubo ningún total
se mostraría asi el reporte
Año mes Proyecto documento Presupuesto Mensual código total
2013 03 Jardineria xxxxx 5000 xxxxx 0
2012 05 Jardineria 345 5000 c0001 4500
2015 09 mantenimiento 123 2000 c0002 13000
...
.....
Muchas gracias por su apoyo
Estoy usando sql server 2012
Tengo 2 tablas
Ingresos y egresos
Presupuesto
La tabla ingresos y egresos contiene los siguientes campos
Código cliente /Proveedor
fecha de documento
Proyecto
total gastado
documento
Código cliente /Proveedor documento fecha de documento Proyecto total
c00001 345 15/05/2012 jardinería 4500 c0002 123 31/9/2015 mantenimiento 1300
c00004 234 1/02/2013 papelería 300
p00034 346 21/05/2015 jardinería 5000
p00035 453 5/05/2012 administración 2000
La tabla de Presupuesto (contiene el presupuestos por mes y año de cada proyecto)
Proyecto
mes
Año
Presupuesto
Proyecto mes año presupuesto
jardinería 01 2012 5000
jardinería 02 2013 4500
jardinería 03 2013 5000
jardinería 05 2012 5000
Papelería 01 2014 300
papelería 02 2015 300
mantenimiento 09 2015 2000
lo que tengo que hacer es obter el presupuesto mensual por ducumento enbase a la fecha y mes
que es esto
select year(b.[fecha contable]) 'año', month(b.[fecha contable]) 'Mes',b.[Nombre de Proyecto] 'Proyecto', b.Documento 'Documento',a.U_Presupuesto 'Presupuesto Mensual' , b.Codigo
'Codigo', b.total 'Total'
from [NvaGalicia].[dbo].[@PRESUPUESTO] as a inner join [NvaGalicia].[dbo].[IngresosEgresosNvaGalicia] as b
on a.U_PrjName=b.[Nombre de Proyecto]
group by year(b.[fecha contable]), month(b.[fecha contable]),b.[Nombre de Proyecto] , b.Documento ,a.U_Presupuesto , b.Codigo, b.total
pero lo que no se hacer es validar es si en mi tabla de ingresos y egresos en algún mes , año y proyecto no existiera ningún documento , hay que mostrarlo
por ejemplo
Año mes Proyecto documento Presupuesto Mensual código total
2013 03 Jardineria xxxxx 5000 xxxxx 0
y el reporte mostraría las coincidencias encontradas en la tabla de ingres y egresos ,mas los registros del presupuesto mensual donde no hubo ningún total
se mostraría asi el reporte
Año mes Proyecto documento Presupuesto Mensual código total
2013 03 Jardineria xxxxx 5000 xxxxx 0
2012 05 Jardineria 345 5000 c0001 4500
2015 09 mantenimiento 123 2000 c0002 13000
...
.....
Muchas gracias por su apoyo
Valora esta pregunta


0