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
| select
PREM_TICK.ANNEE_MOIS_JOUR,
PREM_TICK.CODE_MAGASIN,
PREM_TICK.NUMERO_TICKET,
PREM_TICK.NUMERO_LIGNE,
PREM_TICK.CODE_ARTICLE,
PREM_TICK.NUMERO_CARTE,
PREM_TICK.NUMERO_PERSONNE,
PREM_TICK.HEURE_VENTE,
PREM_TICK.QTE_CAISSE,
PREM_TICK.CA_TTC_REAL,
PREM_TICK.CA_HT_REAL,
PREM_TICK.MG_REAL,
PREM_TICK.CA_TTC_NET,
PREM_TICK.CA_HT_NET,
PREM_TICK.MG_NET,
PREM_TICK.CONCAT_NUM_TICKET,
PREM_TICK.CDE_EXPRESS,
PREM_TICK.CDE_MOBILE,
sysdate,
sysdate
from (
select
dense_rank() over (partition by numero_personne order by annee_mois_jour asc,heure_vente asc,numero_ticket asc) anciennete,
PREMIER_TICKETS.*
from
(
select
nvl(t.ANNEE_MOIS_JOUR,tp.ANNEE_MOIS_JOUR) ANNEE_MOIS_JOUR,
nvl(t.CODE_MAGASIN,tp.CODE_MAGASIN) CODE_MAGASIN,
nvl(t.NUMERO_TICKET,tp.NUMERO_TICKET) NUMERO_TICKET,
nvl(t.NUMERO_LIGNE,tp.NUMERO_LIGNE) NUMERO_LIGNE,
nvl(t.CODE_ARTICLE,tp.CODE_ARTICLE) CODE_ARTICLE,
nvl(t.NUMERO_CARTE,tp.NUMERO_CARTE) NUMERO_CARTE,
p.NUMERO_PERSONNE,
nvl(t.HEURE_VENTE,tp.HEURE_VENTE) HEURE_VENTE,
nvl(t.QTE_CAISSE,tp.QTE_CAISSE) QTE_CAISSE,
nvl(t.CA_TTC_REAL,tp.CA_TTC_REAL) CA_TTC_REAL,
nvl(t.CA_HT_REAL,tp.CA_HT_REAL) CA_HT_REAL,
nvl(t.MG_REAL,tp.MG_REAL) MG_REAL,
nvl(t.CA_TTC_NET,tp.CA_TTC_NET) CA_TTC_NET,
nvl(t.CA_HT_NET,tp.CA_HT_NET) CA_HT_NET,
nvl(t.MG_NET,tp.MG_NET) MG_NET,
nvl(t.CONCAT_NUM_TICKET,tp.CONCAT_NUM_TICKET) CONCAT_NUM_TICKET,
nvl(t.CDE_EXPRESS,tp.CDE_EXPRESS) CDE_EXPRESS,
nvl(t.CDE_MOBILE,tp.CDE_MOBILE) CDE_MOBILE
from
TICKET_PREMIER tp full outer join TICKET t on
(t.annee_mois_jour = tp.annee_mois_jour and
t.code_magasin = tp.code_magasin and
t.numero_carte = tp.numero_carte and
t.numero_ligne = tp.numero_ligne)
inner join CARTE c on
(nvl(tp.numero_carte,t.numero_carte) = c.numero_carte)
inner join sas_crm.PERSONNE_TICKET_SAS p on (c.numero_personne = p.numero_personne)
) PREMIER_TICKETS
) PREM_TICK
where
anciennete = 1 |
Partager