SQL - Como agregar una Subconsulta a un stop procedure

 
Vista:
sin imagen de perfil

Como agregar una Subconsulta a un stop procedure

Publicado por Francisco (2 intervenciones) el 29/09/2022 22:49:00
Buenas tardes Amigos

Estoy tratando de agrear un subconsulta a un stop procedure que me permita sumar del monto del reglon 1 y2 mueste en el reglon 2 o un cambo a parte le dejo query

PROCEDURE [dbo].[RepFormatoFacturaVentaDIFERIDO1]
-- Add the parameters for the stored procedure here
@sCo_Numero_d CHAR(20) = NULL ,
@sCo_Numero_h CHAR(20) = NULL ,
@sCo_Sucursal CHAR(6) = NULL ,
@sMarcarImpreso char(2) = 'NO' ,
@sCampOrderBy VARCHAR(16) = NULL ,
@sDir VARCHAR(6) = NULL ,
@bHeaderRep BIT = 0
AS
BEGIN
SET NOCOUNT ON ;

-- Insert statements for procedure here
DECLARE @Tipo_doc CHAR(11) ;
SET @Tipo_doc = 'factventa' ;

if (@sMarcarImpreso = 'SI')
Begin
update saFacturaVenta set impresa = 1
where
( ( @sCo_Numero_d IS NULL OR doc_num >= @sCo_Numero_d)
AND ( @sCo_Numero_h IS NULL OR doc_num <= @sCo_Numero_h))
AND ( anulado = 0 )
AND ( @sCo_Sucursal IS NULL OR @sCo_Sucursal = co_sucu_in)
End

SELECT
@Tipo_doc AS TIPO_DOC, 'tipo' = 1, ART.modelo, CL.cli_des, CL.rif, CL.nit, CL.telefonos, CL.fax, CL.direc1,
(CASE WHEN (FV.dir_ent IS NOT NULL AND len(ltrim(FV.dir_ent)) > 0) THEN FV.dir_ent ELSE CL.dir_ent2 END) AS dir_entrega,
VE.ven_des, TR.des_tran, CP.cond_des, MO.mone_des,
/*Campos saFacturaVenta*/ FV.doc_num, FV.descrip, FV.co_cli, FV.co_tran, FV.co_mone, FV.co_ven, FV.co_cond,
FV.fec_emis, FV.fec_venc, FV.fec_reg, FV.anulado, FV.status, FV.n_control, FV.ven_ter, FV.tasa,
FV.porc_desc_glob, FV.monto_desc_glob, FV.porc_reca, FV.monto_reca, FV.total_bruto, FV.monto_imp,
FV.monto_imp2, FV.monto_imp3, FV.otros1, FV.otros2, FV.otros3, FV.total_neto, FV.saldo, FV.dir_ent,
FV.comentario, FV.dis_cen, FV.feccom, FV.numcom, FV.contrib, FV.impresa, FV.seriales_s, FV.salestax,
FV.impfis, FV.impfisfac, FV.campo1, FV.campo2, FV.campo3, FV.campo4, FV.campo5, FV.campo6, FV.campo7,
FV.campo8, FV.co_us_in, FV.co_sucu_in, FV.fe_us_in, FV.co_us_mo, FV.co_sucu_mo, FV.fe_us_mo, FV.revisado,
FV.trasnfe, FV.validador, FV.rowguid, FV.porc_desc_glob, FV.porc_reca,
/*Campos saFacturaVentaReng*/ FVR.reng_num, FVR.doc_num, FVR.co_art,
CASE WHEN FVR.des_art IS NOT NULL THEN FVR.des_art
ELSE ART.art_des
END AS des_art, FVR.co_alma, FVR.total_art, FVR.stotal_art, FVR.co_uni, FVR.sco_uni, FVR.co_precio,
FVR.prec_vta, FVR.prec_vta_om, FVR.porc_desc, FVR.monto_desc, FVR.tipo_imp, FVR.tipo_imp2, FVR.tipo_imp3,
FVR.porc_imp, FVR.porc_imp2, FVR.porc_imp3, FVR.monto_imp, FVR.monto_imp2, FVR.monto_imp3, FVR.reng_neto,
FVR.pendiente, FVR.pendiente2, FVR.tipo_doc, FVR.num_doc, FVR.rowguid_doc, FVR.total_dev, FVR.monto_dev,
FVR.otros, FVR.comentario, FVR.lote_asignado, FVR.dis_cen, FVR.co_us_in, FVR.co_sucu_in, FVR.fe_us_in,
FVR.co_us_mo, FVR.co_sucu_mo, FVR.fe_us_mo, FVR.revisado, FVR.trasnfe, FVR.rowguid,ISNULL(dbo.MontoEscrito(FV.total_neto), 0) AS MontoEscrito

FROM
saFacturaVenta AS FV
INNER JOIN saFacturaVentaReng AS FVR ON FVR.doc_num = FV.doc_num
INNER JOIN saCliente AS CL ON CL.co_cli = FV.co_cli
INNER JOIN saVendedor AS VE ON VE.co_ven = FV.co_ven
INNER JOIN saTransporte AS TR ON TR.co_tran = FV.co_tran
LEFT JOIN saCondicionPago AS CP ON CP.co_cond = FV.co_cond
INNER JOIN saMoneda AS MO ON MO.co_mone = FV.co_mone
INNER JOIN saArticulo AS ART ON ART.co_art = FVR.co_art

WHERE
( ( @sCo_Numero_d IS NULL
OR FV.doc_num >= @sCo_Numero_d
)
AND ( @sCo_Numero_h IS NULL
OR FV.doc_num <= @sCo_Numero_h
)
)
AND ( FV.anulado = 0 )
AND ( @sCo_Sucursal IS NULL
OR @sCo_Sucursal = FV.co_sucu_in
)
AND (FVR.co_art <> 241004 )



ORDER BY
FV.doc_num ASC

END

Alguien de puede apoyar

Atento a su comentario...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 109
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Como agregar una Subconsulta a un stop procedure

Publicado por Rafael (2 intervenciones) el 04/10/2022 10:38:13
Tu pregunta es de SQL Server NO de ORACLE
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar