Prcedimiento almacenado no me muestra una sucursal
Publicado por Maya (1 intervención) el 10/01/2017 20:17:52
Hola amigos me pueden apoyar con esta consulta ya que hice un SP pero solamente me muestra calculos de una sola sucursal y no de las 2 que tengo en la tabla de sucursales, le mando esta consulta:
y aqui esta el codigo, no encuentre donde pueda estar el error, cuando consulto las otras dos sucursales me trae datos null o en ceros.
1
2
USE NegocioDB
Exec ssp_consulta_asiga_meta 'Matriz Tonaya'
y aqui esta el codigo, no encuentre donde pueda estar el error, cuando consulto las otras dos sucursales me trae datos null o en ceros.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
USE NegocioDB
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Maya>
-- Create date: <09/01/2017>
-- Description: <xxxxx>
-- =============================================
ALTER PROCEDURE [dbo].[ssp_consulta_asiga_meta]
-- Add the parameters for the stored procedure here
@sucursal varchar(50)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
--Va de Nuez de todos los calculos que mostramos
--cuales se ocupan para mostrar al final???
declare @tableresult table
(
numsocios int,
porcsuc1 int,
TotalAhorro int,
PorcAho1 decimal(10,2),
capta1 decimal(10,2),
totalcartera int,
Porcart1 decimal (10,2),
colocacredi1 decimal (10,2),
totalcaptarsocios decimal (10,2),
totalcaptarahorro decimal(10,2),
totalcolocarcredito decimal(10,2),
captasocio1 int
)
--Declara totales
Declare @totalsocios int
Declare @totalahorro int
Declare @totalCartera int
Declare @totalcaptarsocios int
Declare @totalcaptarahorro int
Declare @totalcolocarcredito decimal(10,2)--int aqui esta el error un valor diferente al resultado
--Declaras los porcentajes
Declare @porcsuc1 decimal(10,2)
Declare @PorcAho1 decimal(10,2)
Declare @porcart1 decimal(10,2)
Declare @captasocio1 int
Declare @capta1 decimal(10,2)
Declare @colocacredi1 decimal (10,2)
Declare @IDSucursal int
Set @IDSucursal=(Select SucursalId from Sucursales Where NombreSuc=@sucursal and Vigente=1)
--Sacar valores totales
SET @totalsocios=(SELECT sum(Totalsocios) FROM [Sucursales.Totales] where Id_Sucursal=@IDSucursal)
SET @totalahorro=(SELECT sum(TotalAhorro) FROM [Sucursales.Totales] where Id_Sucursal=@IDSucursal)
SET @totalCartera=(SELECT sum(TotalCartera) FROM [Sucursales.Totales] where Id_Sucursal=@IDSucursal)
--SET datos de tabla costos y beneficios
SET @totalcaptarsocios = (SELECT CaptarNuevoSocios FROM Costos where SucursalID= @IDSucursal)
SET @totalcaptarahorro = (SELECT CaptarAhorro FROM Costos where SucursalID= @IDSucursal)
SET @totalcolocarcredito = (SELECT ColocarCredito FROM Beneficios where SucursalID= @IDSucursal)
--Operaciones de % Socios
SET @porcsuc1=((Select Totalsocios from [Sucursales.Totales] where Id_Sucursal=@IDSucursal))
SET @porcsuc1=(@porcsuc1/@totalsocios*100)
--Operaciones % Ahorro
SET @PorcAho1=((Select TotalAhorro from [Sucursales.Totales] where Id_Sucursal=@IDSucursal))
SET @PorcAho1=(@PorcAho1/@totalahorro*100)
-- Operaciones %credito
SET @Porcart1 =((Select TotalCartera from [Sucursales.Totales] where Id_Sucursal=@IDSucursal))
SET @Porcart1=(@Porcart1/@TotalCartera*100)
--operaciones de META SOCIO
SET @captasocio1=(@totalcaptarsocios *@porcsuc1)
--Operaciones de META AHORRO
SET @capta1=(@totalcaptarahorro *@PorcAho1)
--operaciones de META CREDITO
SET @colocacredi1 =(@totalcolocarcredito * @porcart1/100)
INSERT INTO @tableresult (numsocios,porcsuc1,TotalAhorro,PorcAho1,totalCartera, porcart1, captasocio1, capta1,colocacredi1)--estos son los que te falta declarar
values(@totalsocios,@porcsuc1,@totalahorro,@PorcAho1,@totalCartera,@porcart1,@captasocio1, @capta1, @colocacredi1)
-- de todos esos campos que hicimos CUALES SON LOS QUE OCUPAMOS POR SUCURSAL 1 X 1 captasocio, capta y colocacred
SELECT ISNULL (captasocio1/100,0) as MetaSocio, ISNULL(capta1,0) as MetaAhorro, ISNULL(colocacredi1,0) as MetaCredito
FROM @tableresult
END
GO
Valora esta pregunta
0