Ejecutar valores de subconsultas sobre la consulta principal
Publicado por Velius (2 intervenciones) el 04/02/2012 00:10:07
Hola amigos, espero puedan ayudar con el tema, agradesco su interes.
Necesito que se ejecute el valor de D.Formula al mismo tiempo que se ejecuta el SELECT de mi consulta principal el cual seria un valor int (ej: 4565).
Si hago esto sí ejecuta el valor de @f
declare @f as varchar(800)
set @f=(dbo.fnCO_DevuelveSaldoxCuentaContable(6,11)-dbo.fnCO_DevuelveSaldoxCuentaContable(61,11))+dbo.fnCO_DevuelveSaldoxCuentaContable(6395,11)
SELECT @f , ...
...
En la columna @f arrojaria 4565
Pero si hago lo siguiente, no ejecuta el valor de D.Formula (el cual tiene como valor "la misma formula" larga de @f ) que proviene de una subconsulta y en la columna D.Formula arroja solo: (dbo.fnCO_DevuelveSaldoxCuentaContable(6,11)-dbo.fnCO_DevuelveSaldoxCuentaContable(61,11))+dbo.fnCO_DevuelveSaldoxCuentaContable(6395,11)
SELECT D.Formula, ...
...
LEFT JOIN
(SELECT DISTINCT PR.PlantillaReporte, dbo.fn_ConcatenaFormula(PR.PlantillaReporte) as Formula
FROM CO_PlantillaReporte PR
WHERE PR.Activo=1 AND PR.Reporte=3
GROUP BY PR.PlantillaReporte) D
ON A.PlantillaReporte=D.PlantillaReporte
Necesito que se ejecute el valor de D.Formula al mismo tiempo que se ejecuta el SELECT de mi consulta principal el cual seria un valor int (ej: 4565).
Si hago esto sí ejecuta el valor de @f
declare @f as varchar(800)
set @f=(dbo.fnCO_DevuelveSaldoxCuentaContable(6,11)-dbo.fnCO_DevuelveSaldoxCuentaContable(61,11))+dbo.fnCO_DevuelveSaldoxCuentaContable(6395,11)
SELECT @f , ...
...
En la columna @f arrojaria 4565
Pero si hago lo siguiente, no ejecuta el valor de D.Formula (el cual tiene como valor "la misma formula" larga de @f ) que proviene de una subconsulta y en la columna D.Formula arroja solo: (dbo.fnCO_DevuelveSaldoxCuentaContable(6,11)-dbo.fnCO_DevuelveSaldoxCuentaContable(61,11))+dbo.fnCO_DevuelveSaldoxCuentaContable(6395,11)
SELECT D.Formula, ...
...
LEFT JOIN
(SELECT DISTINCT PR.PlantillaReporte, dbo.fn_ConcatenaFormula(PR.PlantillaReporte) as Formula
FROM CO_PlantillaReporte PR
WHERE PR.Activo=1 AND PR.Reporte=3
GROUP BY PR.PlantillaReporte) D
ON A.PlantillaReporte=D.PlantillaReporte
Valora esta pregunta


0