Project

General

Profile

Support #1826 » CBIATMTOPYBINAMARGATARIF.sql

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

 
1
??ALTER PROCEDURE [dbo].[CBIATMTOPYBINAMARGATARIF]
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
	,PremiHelper DECIMAL(22,2)
32

33
	,UangMakan DECIMAL(22,2)
34

35
	,PremiOperator DECIMAL(22,2)
36

37
)
38

39

40

41
INSERT INTO @CTARIF
42

43
SELECT @EmployeeID, * FROM (SELECT FieldName, Tarif FROM CTARIFBINAMARGA) AS SourceTable
44

45
PIVOT (MAX(Tarif)
46

47
FOR FieldName IN
48

49
(	[PremiHelper],
50

51
	[UangMakan],
52

53
	[PremiOperator])
54

55
) AS pvt
56

57

58

59
SELECT DISTINCT md.EmployeeID, md.PremiHelper,  md.UangMakan,  md.PremiOperator 
60

61
				,CONVERT(DECIMAL(22,2),CASE WHEN md.PremiHelper <> '' THEN md.PremiHelper ELSE '0' END) * tarif.PremiHelper AS TarifPremiHelper
62

63
				,CONVERT(DECIMAL(22,2),CASE WHEN md.UangMakan <> '' THEN md.UangMakan ELSE '0' END) * tarif.UangMakan AS TarifUangMakan
64

65
				,CONVERT(DECIMAL(22,2),CASE WHEN md.PremiOperator <> '' THEN md.PremiOperator ELSE '0' END) * tarif.PremiOperator AS TarifPremiOperator
66

67
FROM CUSPYDATAPREMIBINAMARGA AS md 
68

69
LEFT JOIN @CTARIF AS tarif
70

71
	ON md.EmployeeID = tarif.EmployeeID
72

73
WHERE  md.EmployeeID = @EmployeeID
74

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