Unir Tablas en SP
Publicado por Manuel Gómez (21 intervenciones) el 09/05/2009 01:33:57
Ola a todos
Quisiera unir dos tablas pero es un caso medio especial:
----------------------------------------------------------------------------------------------------------------------------
CREATE PROC ObtenerDatos(
@strNombreBaseDatos VARCHAR(20),
)
AS
BEGIN
EXEC('SELECT
Presupuesto,
Sucursal,
Serie,
Fecha,
Total
FROM '+@strNombreBaseDatos+'..TablaPresupuesto'
)
END
------------------------------------------------------------------------------------------------------------------------
El cual si ejecuto me produce un resultado, un solo registro en el cual se distingue el campo "Presupuesto" que tiene un unico valor para ese registro.
Quiero unir a este Procedure una Suma de otra tabla. La suma seria así:
(SELECT SUM(CASE WHEN Familia = 13 THEN (Cantidad *PrecioUnitario) END) FROM TablaArticulos WHERE Presupuesto = 579864 AND intFamilia = 13)
AQUI COMENTARÉ que en esta tabla, "TablaArticulos", tiene varios registros, pero los estoy filtrando por el campo "Familia = 13"
Al multiplicar dentro de esa Tabla, la "TablaArticulos", los campos "Cantidad"*"PrecioUnitario" obtengo una columna SIN NOMBRE con varios registros multiplicados pero como decia, al filtrarse con "Familia" = 13, entonces estos registros se reducen cuando el campo "Familia" tiene valor a 13 y posteriormente esta columna SIN NOMBRE se reduce a un registro en el cual es la suma de los registros del campo SIN NOMBRE y me queda algo asi:
---------------------------------------
122566.5500000
(1 row(s) affected)
Como se puede ver en "TablaArticulos" esta el Campo "Presupuesto", QUE ES EL QUE QUIERO UNIR con la tabla del STORED PROCEDURE de arriba llamada "TablaPresupuesto" , Para el ejemplo puse el valor 579864 pero supongo que lo que se debe de hacer arriba es agregar este codigo de la suma y el campo "Presupuesto" de este codigo UNIRLO con el campo de "Presupuesto" del Stored Procedure de arriba de la tabla "TablaPresupuesto"
Entonces la pregunta seria:
¿Como uno la consulta de la suma con el Stored Procedure de arriba y considerando aparte que en ambas tablas están los campos "Sucursal" y "Serie" lo cual pudiera causar conflictos?
Espero su respuesta y gracias de antemano.
Quisiera unir dos tablas pero es un caso medio especial:
----------------------------------------------------------------------------------------------------------------------------
CREATE PROC ObtenerDatos(
@strNombreBaseDatos VARCHAR(20),
)
AS
BEGIN
EXEC('SELECT
Presupuesto,
Sucursal,
Serie,
Fecha,
Total
FROM '+@strNombreBaseDatos+'..TablaPresupuesto'
)
END
------------------------------------------------------------------------------------------------------------------------
El cual si ejecuto me produce un resultado, un solo registro en el cual se distingue el campo "Presupuesto" que tiene un unico valor para ese registro.
Quiero unir a este Procedure una Suma de otra tabla. La suma seria así:
(SELECT SUM(CASE WHEN Familia = 13 THEN (Cantidad *PrecioUnitario) END) FROM TablaArticulos WHERE Presupuesto = 579864 AND intFamilia = 13)
AQUI COMENTARÉ que en esta tabla, "TablaArticulos", tiene varios registros, pero los estoy filtrando por el campo "Familia = 13"
Al multiplicar dentro de esa Tabla, la "TablaArticulos", los campos "Cantidad"*"PrecioUnitario" obtengo una columna SIN NOMBRE con varios registros multiplicados pero como decia, al filtrarse con "Familia" = 13, entonces estos registros se reducen cuando el campo "Familia" tiene valor a 13 y posteriormente esta columna SIN NOMBRE se reduce a un registro en el cual es la suma de los registros del campo SIN NOMBRE y me queda algo asi:
---------------------------------------
122566.5500000
(1 row(s) affected)
Como se puede ver en "TablaArticulos" esta el Campo "Presupuesto", QUE ES EL QUE QUIERO UNIR con la tabla del STORED PROCEDURE de arriba llamada "TablaPresupuesto" , Para el ejemplo puse el valor 579864 pero supongo que lo que se debe de hacer arriba es agregar este codigo de la suma y el campo "Presupuesto" de este codigo UNIRLO con el campo de "Presupuesto" del Stored Procedure de arriba de la tabla "TablaPresupuesto"
Entonces la pregunta seria:
¿Como uno la consulta de la suma con el Stored Procedure de arriba y considerando aparte que en ambas tablas están los campos "Sucursal" y "Serie" lo cual pudiera causar conflictos?
Espero su respuesta y gracias de antemano.
Valora esta pregunta


0