Project

General

Profile

Support #1824 » CBIATMTOPYTRIPHINOTARIF.sql

Tri Rizqiaty, 11/30/2022 05:14 PM

 
1
??CREATE PROCEDURE [dbo].[CBIATMTOPYTRIPHINOTARIF]
2

3
(
4

5
	@EmployeeID VARCHAR(20)
6

7
	,@StartDate VARCHAR(20)
8

9
	,@EndDate VARCHAR(20)
10

11
)
12

13
AS
14

15

16

17
--DECLARE @EmployeeID VARCHAR(20) = '06120011'
18

19
--DECLARE @StartDate VARCHAR(20) = '20221101'
20

21
--DECLARE @EndDate VARCHAR(20) = '20221130'
22

23

24

25
DECLARE @CTARIF TABLE
26

27
(
28

29
	EmployeeID VARCHAR(20)
30

31
	,TipeTrip01 DECIMAL(22,2)
32

33
	,TipeTrip02 DECIMAL(22,2)
34

35
	,TipeTrip03 DECIMAL(22,2)
36

37
	,TipeTrip04 DECIMAL(22,2)
38

39
	,TipeTrip05 DECIMAL(22,2)
40

41
	,TipeTrip06 DECIMAL(22,2)
42

43
	,TipeTrip07 DECIMAL(22,2)
44

45
	,TipeTrip08 DECIMAL(22,2)
46

47
	,TipeTrip09 DECIMAL(22,2)
48

49
	,TipeTrip10 DECIMAL(22,2)
50

51
	,TipeTrip11 DECIMAL(22,2)
52

53
	,TipeTrip12 DECIMAL(22,2)
54

55
	,TipeTrip13 DECIMAL(22,2)
56

57
	,TipeTrip14 DECIMAL(22,2)
58

59
	,TipeTrip15 DECIMAL(22,2)
60

61
	,TipeTrip16 DECIMAL(22,2)
62

63
	,TipeTrip17 DECIMAL(22,2)
64

65
	,TipeTrip18 DECIMAL(22,2)
66

67
	,TipeTrip19 DECIMAL(22,2)
68

69
)
70

71

72

73
INSERT INTO @CTARIF
74

75
SELECT @EmployeeID, * FROM (SELECT FieldName, Tarif AS Tarif FROM CTARIFTRIPHINODUMPTRUCK) AS SourceTable
76

77
PIVOT (MAX(Tarif)
78

79
FOR FieldName IN
80

81
(	[TipeTrip01],
82

83
	[TipeTrip02],
84

85
	[TipeTrip03],
86

87
	[TipeTrip04],
88

89
	[TipeTrip05],
90

91
	[TipeTrip06],
92

93
	[TipeTrip07],
94

95
	[TipeTrip08],
96

97
	[TipeTrip09],
98

99
	[TipeTrip10],
100

101
	[TipeTrip11],
102

103
	[TipeTrip12],
104

105
	[TipeTrip13],
106

107
	[TipeTrip14],
108

109
	[TipeTrip15],
110

111
	[TipeTrip16],
112

113
	[TipeTrip17],
114

115
	[TipeTrip18],
116

117
	[TipeTrip19])
118

119
) AS pvt
120

121

122

123
SELECT DISTINCT md.EmployeeID, md.TipeTrip01,  md.TipeTrip02,  md.TipeTrip03, md.TipeTrip04, md.TipeTrip05, md.TipeTrip06
124

125
				,md.TipeTrip07 ,md.TipeTrip08 ,md.TipeTrip09 ,md.TipeTrip10 ,md.TipeTrip11 ,md.TipeTrip12 ,md.TipeTrip13
126

127
				,md.TipeTrip14 ,md.TipeTrip15 ,md.TipeTrip16 ,md.TipeTrip17 ,md.TipeTrip18 ,md.TipeTrip19
128

129
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip01 <> '' THEN md.TipeTrip01 ELSE '0' END) * tarif.TipeTrip01 AS TarifTipeTrip01
130

131
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip02 <> '' THEN md.TipeTrip02 ELSE '0' END) * tarif.TipeTrip02 AS TarifTipeTrip02
132

133
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip03 <> '' THEN md.TipeTrip03 ELSE '0' END) * tarif.TipeTrip03 AS TarifTipeTrip03
134

135
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip04 <> '' THEN md.TipeTrip04 ELSE '0' END) * tarif.TipeTrip04 AS TarifTipeTrip04
136

137
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip05 <> '' THEN md.TipeTrip05 ELSE '0' END) * tarif.TipeTrip05 AS TarifTipeTrip05
138

139
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip06 <> '' THEN md.TipeTrip06 ELSE '0' END) * tarif.TipeTrip06 AS TarifTipeTrip06
140

141
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip07 <> '' THEN md.TipeTrip07 ELSE '0' END) * tarif.TipeTrip07 AS TarifTipeTrip07
142

143
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip08 <> '' THEN md.TipeTrip08 ELSE '0' END) * tarif.TipeTrip08 AS TarifTipeTrip08
144

145
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip09 <> '' THEN md.TipeTrip09 ELSE '0' END) * tarif.TipeTrip09 AS TarifTipeTrip09
146

147
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip10 <> '' THEN md.TipeTrip10 ELSE '0' END) * tarif.TipeTrip10 AS TarifTipeTrip10
148

149
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip11 <> '' THEN md.TipeTrip11 ELSE '0' END) * tarif.TipeTrip11 AS TarifTipeTrip11
150

151
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip12 <> '' THEN md.TipeTrip12 ELSE '0' END) * tarif.TipeTrip12 AS TarifTipeTrip12
152

153
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip13 <> '' THEN md.TipeTrip13 ELSE '0' END) * tarif.TipeTrip13 AS TarifTipeTrip13
154

155
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip14 <> '' THEN md.TipeTrip14 ELSE '0' END) * tarif.TipeTrip14 AS TarifTipeTrip14
156

157
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip15 <> '' THEN md.TipeTrip15 ELSE '0' END) * tarif.TipeTrip15 AS TarifTipeTrip15
158

159
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip16 <> '' THEN md.TipeTrip16 ELSE '0' END) * tarif.TipeTrip16 AS TarifTipeTrip16
160

161
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip17 <> '' THEN md.TipeTrip17 ELSE '0' END) * tarif.TipeTrip17 AS TarifTipeTrip17
162

163
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip18 <> '' THEN md.TipeTrip18 ELSE '0' END) * tarif.TipeTrip18 AS TarifTipeTrip18
164

165
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip19 <> '' THEN md.TipeTrip19 ELSE '0' END) * tarif.TipeTrip19 AS TarifTipeTrip19
166

167
				,(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip01 <> '' THEN md.TipeTrip01 ELSE '0' END) * tarif.TipeTrip01) +
168

169
				(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip02 <> '' THEN md.TipeTrip02 ELSE '0' END) * tarif.TipeTrip02) +
170

171
				(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip03 <> '' THEN md.TipeTrip03 ELSE '0' END) * tarif.TipeTrip03) +
172

173
				(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip04 <> '' THEN md.TipeTrip04 ELSE '0' END) * tarif.TipeTrip04) +
174

175
				(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip05 <> '' THEN md.TipeTrip05 ELSE '0' END) * tarif.TipeTrip05) +
176

177
				(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip06 <> '' THEN md.TipeTrip06 ELSE '0' END) * tarif.TipeTrip06) +
178

179
				(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip07 <> '' THEN md.TipeTrip07 ELSE '0' END) * tarif.TipeTrip07) +
180

181
				(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip08 <> '' THEN md.TipeTrip08 ELSE '0' END) * tarif.TipeTrip08) +
182

183
				(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip09 <> '' THEN md.TipeTrip09 ELSE '0' END) * tarif.TipeTrip09) +
184

185
				(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip10 <> '' THEN md.TipeTrip10 ELSE '0' END) * tarif.TipeTrip10) +
186

187
				(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip11 <> '' THEN md.TipeTrip11 ELSE '0' END) * tarif.TipeTrip11) +
188

189
				(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip12 <> '' THEN md.TipeTrip12 ELSE '0' END) * tarif.TipeTrip12) +
190

191
				(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip13 <> '' THEN md.TipeTrip13 ELSE '0' END) * tarif.TipeTrip13) +
192

193
				(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip14 <> '' THEN md.TipeTrip14 ELSE '0' END) * tarif.TipeTrip14) +
194

195
				(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip15 <> '' THEN md.TipeTrip15 ELSE '0' END) * tarif.TipeTrip15) +
196

197
				(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip16 <> '' THEN md.TipeTrip16 ELSE '0' END) * tarif.TipeTrip16) +
198

199
				(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip17 <> '' THEN md.TipeTrip17 ELSE '0' END) * tarif.TipeTrip17) +
200

201
				(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip18 <> '' THEN md.TipeTrip18 ELSE '0' END) * tarif.TipeTrip18) +
202

203
				(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip19 <> '' THEN md.TipeTrip19 ELSE '0' END) * tarif.TipeTrip19) AS TotalTarifTripHino
204

205
FROM dbo.MDTRIPHINODUMPTRUCK  AS md 
206

207
LEFT JOIN @CTARIF AS tarif
208

209
	ON md.EmployeeID = tarif.EmployeeID
210

211
WHERE  md.EmployeeID = @EmployeeID
212

213
	AND (md.StartDate BETWEEN @StartDate AND @EndDate)
(3-3/3)