2.6 KiB
2.6 KiB
V_GRIGLIA
Colonne
| Colonna | Tipo |
|---|---|
| ID | NUMBER |
| TIPO_RIEPILOGO | VARCHAR2(20) |
| RNK | NUMBER |
| DES_TIPO | VARCHAR2(1000) |
| LUN | VARCHAR2(4000) |
| MAR | VARCHAR2(4000) |
| MER | VARCHAR2(4000) |
| GIO | VARCHAR2(4000) |
| VEN_1 | VARCHAR2(4000) |
| VEN_2 | VARCHAR2(4000) |
| SAB_1 | VARCHAR2(4000) |
| SAB_2 | VARCHAR2(4000) |
| DOM_1 | VARCHAR2(4000) |
| DOM_2 | VARCHAR2(4000) |
Definizione
CREATE OR REPLACE VIEW V_GRIGLIA AS
with t as (
select to_char(data,'IW') week,
-- to_char(data,'d', 'NLS_DATE_LANGUAGE = italian') giorno,
to_char(data,'d') giorno,
-- to_char(data,'d', 'NLS_DATE_LANGUAGE = italian') * 100000 + E.ID giorno,
E.ID ,
DENSE_RANK() OVER (PARTITION BY to_char(data,'d', 'NLS_DATE_LANGUAGE = italian') * 100000 ORDER BY e.id) rnk,
e.data,e.descrizione,
p.cod_articolo,
a.descrizione des_art,
a.cod_categ,
c.descrizione des_categ,
c.cod_tipo ,
t.descrizione des_tipo,
c.tipo_riepilogo
from eventi e
join eventi_det_prel p on e.id = p.id_evento
join articoli a on p.cod_articolo = a.cod_articolo
join tb_codici_categ c on a.cod_categ = c.cod_categ
join tb_tipi_mat t on c.cod_tipo = t.cod_tipo
-- where to_char(data,'IW') = to_char(to_date(:P14_SETTIMANA,'DD-MON-YYYY'),'IW')
where to_char(data,'IW') = to_char(to_date('05-MAY-2018','DD-MON-YYYY'),'IW')
)
, t_des as (
select ID,rnk,
t.tipo_riepilogo,
t.DES_TIPO,
t.descrizione,
case when giorno = 1 then t.DES_ART end DOM_1,
case when giorno = 1 then t.DES_ART end DOM_2,
case when giorno = 2 then t.DES_ART end LUN,
case when giorno = 3 then t.DES_ART end MAR,
case when giorno = 4 then t.DES_ART end MER,
case when giorno = 5 then t.DES_ART end GIO,
case when giorno = 6 and rnk =1 then t.DES_ART else '1-' end VEN_1,
case when giorno = 6 and rnk =2 then t.DES_ART else '2-' end VEN_2,
case when giorno = 7 then t.DES_ART else '1-' end SAB_1,
case when giorno = 7 then t.DES_ART else '2-' end SAB_2
from t
)
select id, tipo_riepilogo,rnk, DES_TIPO,LUN, MAR, MER, GIO, VEN_1,VEN_2, SAB_1, SAB_2, DOM_1, DOM_2
from t_des