-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsqls-etl.sql
194 lines (171 loc) · 5.19 KB
/
sqls-etl.sql
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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
--------------------------------------------------------
-- DIM CATEGORIA
--------------------------------------------------------
SELECT
C.COD_CATEGORIA AS COD_CATEGORIA,
C.NB_CATEGORIA AS NB_CATEGORIA,
NULL AS COD_SUBCATEGORIA,
NULL AS NB_SUBCATEGORIA
FROM CATEGORIA C, SUBCATEGORIA S
UNION
SELECT
C.COD_CATEGORIA AS COD_CATEGORIA,
C.NB_CATEGORIA AS NB_CATEGORIA,
S.COD_SUB_CATEGORIA AS COD_SUBCATEGORIA,
S.NB_SUB_CATEGORIA AS NB_SUBCATEGORIA
FROM CATEGORIA C, SUBCATEGORIA S
WHERE C.COD_CATEGORIA=S.COD_CATEGORIA
--------------------------------------------------------
-- DIM CLIENTE
--------------------------------------------------------
SELECT
COD_CLIENTE,
CI_RIF,
NB_CLIENTE,
TELEFONO,
DIRECCION,
EMAIL
FROM CLIENTE
--------------------------------------------------------
-- DIM EVENTO
--------------------------------------------------------
SELECT
T.COD_TIPO_EVENTO AS COD_TIPO_EVENTO,
T.NB_TIPO_EVENTO AS NB_TIPO_EVENTO,
NULL AS COD_EVENTO,
NULL AS NB_EVENTO,
NULL AS DESCRIPCION
FROM TIPO_EVENTO T
UNION
SELECT
T.COD_TIPO_EVENTO AS COD_TIPO_EVENTO,
T.NB_TIPO_EVENTO AS NB_TIPO_EVENTO,
E.COD_EVENTO AS COD_EVENTO,
E.NB_EVENTO AS NB_EVENTO,
E.DESCRIPCION AS DESCRIPCION
FROM EVENTO E, TIPO_EVENTO T
WHERE E.COD_TIPO_EVENTO=T.COD_TIPO_EVENTO
--------------------------------------------------------
-- DIM LEYENDA
--------------------------------------------------------
SELECT
COD_LEYENDA_ESTRELLAS,
NB_DESCRIPCION
FROM LEYENDA_ESTRELLAS
--------------------------------------------------------
-- DIM SEDE
--------------------------------------------------------
SELECT
P.COD_PAIS AS COD_PAIS,
P.NB_PAIS AS NB_PAIS,
NULL AS COD_CIUDAD,
NULL AS NB_CIUDAD,
NULL AS COD_SEDE,
NULL AS NB_SEDE
FROM PAIS P
UNION
SELECT
P.COD_PAIS AS COD_PAIS,
P.NB_PAIS AS NB_PAIS,
CI.COD_CIUDAD AS COD_CIUDAD,
CI.NB_CIUDAD AS NB_CIUDAD,
NULL AS COD_SEDE,
NULL AS NB_SEDE
FROM PAIS P, CIUDAD CI
WHERE P.COD_PAIS=CI.COD_PAIS
UNION
SELECT
P.COD_PAIS AS COD_PAIS,
P.NB_PAIS AS NB_PAIS,
CI.COD_CIUDAD AS COD_CIUDAD,
CI.NB_CIUDAD AS NB_CIUDAD,
S.COD_SEDE AS COD_SEDE,
S.NB_SEDE AS NB_SEDE
FROM PAIS P, CIUDAD CI, SEDE S
WHERE P.COD_PAIS=CI.COD_PAIS
AND CI.COD_CIUDAD=S.COD_CIUDAD
--------------------------------------------------------
-- DIM TIEMPO
--------------------------------------------------------
NO USE NINGUN SQL, FUE EL QUE NOS DIO LA PROFE
--------------------------------------------------------
-- DIM TIPO STAND
--------------------------------------------------------
SELECT
COD_TIPO_STAND,
NB_TIPO_STAND
FROM TIPO_STAND
--------------------------------------------------------
-- DIM VISITANTE
--------------------------------------------------------
SELECT
COD_VISITANTE,
CEDULA,
NB_VISITANTE,
SEXO,
EMAIL
FROM VISITANTE
--------------------------------------------------------
-- FACT ALQUILER
--------------------------------------------------------
SELECT
DIM_E.SK_EVENTO AS SK_EVENTO,
DIM_C.SK_CLIENTE AS SK_CLIENTE,
DIM_T.SK_TIEMPO AS SK_FEC_ALQUILER,
DIM_T.SK_TIPO_STAND AS SK_TIPO_STAND,
DIM_CAT.SK_CATEGORIA AS SK_CATEGORIA,
C.NRO_STAND AS NUM_STAND,
C.MTS2 AS MT2,
C.MONTO AS MONTO,
1 AS CANTIDAD
FROM DIM_EVENTO DIM_E, DIM_CLIENTE DIM_C, DIM_TIEMPO DIM_T,DIM_TIPO_STAND DIM_T, DIM_CATEGORIA DIM_CAT, EVENTOS_G02.CONTRATO C
WHERE DIM_E.COD_EVENTO=C.COD_EVENTO
AND DIM_C.COD_CLIENTE=C.COD_CLIENTE
AND DIM_T.FECHA=C.FECHA_ALQUILER
AND DIM_T.COD_TIPO_STAND=C.COD_TIPO_STAND
AND DIM_CAT.COD_SUBCATEGORIA=C.COD_SUB_CATEGORIA
--------------------------------------------------------
-- FACT EVENTO
--------------------------------------------------------
SELECT
DIM_E.SK_EVENTO AS SK_EVENTO,
DIM_S.SK_SEDE AS SK_SEDE,
DIM_T.SK_TIEMPO AS SK_FEC_EVENTO,
1 AS CANTIDAD_EVENTO,
M.VISITANTES_META AS CANTIDAD_ESTIM_VISITANTES,
M.INGRESOS_META AS META_INGRESO
FROM DIM_EVENTO DIM_E, DIM_SEDE DIM_S, DIM_TIEMPO DIM_T, EVENTOS_G02.METAS_EVENTO M, EVENTOS_G02.EVENTO E
WHERE DIM_E.COD_EVENTO=E.COD_EVENTO
AND DIM_S.COD_SEDE=E.COD_SEDE
AND DIM_T.FECHA=E.FECHA_INICIO
AND M.COD_EVENTO=E.COD_EVENTO
--------------------------------------------------------
-- FACT EVENTO STAND
--------------------------------------------------------
SELECT
DIM_E.SK_EVENTO AS SK_EVENTO,
DIM_T.SK_TIPO_STAND AS SK_TIPO_STAND,
M.CANTIDAD_ESTIMADA AS CANTIDAD_ESTIMADA,
M.MTS2 AS MT2,
M.PRECIO AS PRECIO
FROM DIM_EVENTO DIM_E, DIM_TIPO_STAND DIM_T, EVENTOS_G02.EVENTO_STAND M
WHERE DIM_E.COD_EVENTO=M.COD_EVENTO
AND DIM_T.COD_TIPO_STAND=M.COD_TIPO_STAND
--------------------------------------------------------
-- FACT VISITA
--------------------------------------------------------
SELECT
DIM_E.SK_EVENTO AS SK_EVENTO,
DIM_V.SK_VISITANTE AS SK_VISITANTE,
DIM_T.SK_TIEMPO AS SK_FEC_ENTRADA,
DIM_L.SK_LEYENDA AS SK_LEYENDA_ESTRELLAS,
E.NRO_ENTRADA AS NUM_ENTRADA,
E.HORA_ENTRADA AS HORA_ENTRADA,
1 AS CANTIDAD_VISITA,
E.CALIFICACION AS CALIFICACION,
E.RECOMIENDA_AMIGO AS RECOMIENDA_AMIGO
FROM DIM_EVENTO DIM_E, DIM_VISITANTE DIM_V, DIM_TIEMPO DIM_T,DIM_LEYENDA DIM_L, EVENTOS_G02.ENTRADA E
WHERE DIM_E.COD_EVENTO=E.COD_EVENTO
AND DIM_V.COD_VISITANTE=E.COD_VISITANTE
AND DIM_T.FECHA=E.FECHA_ENTRADA
AND DIM_L.COD_LEYENDA=E.COD_LEYENDA_ESTRELLAS