Advertisement
Guest User

Untitled

a guest
Jan 17th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.50 KB | None | 0 0
  1. CREATE table t_chcode_ambitocarta_1116_1017 AS
  2. SELECT chcode, ambito_carta FROM iccrea_tm.anagrafica_1116_1017 where chcode in (SELECT distinct chcode from iccrea_tm.tabella_recall_1116_1017);
  3.  
  4. --droppare le vecchie
  5.  
  6. CREATE VIEW v_carta_piu_usata_1116_1017 AS
  7. SELECT DISTINCT vv.chcode,
  8. vv.pan_cifrato_sadas,
  9. vv.carta_piu_usata
  10. FROM
  11. (SELECT ff.chcode,
  12. ff.pan_cifrato_sadas,
  13. max(cards) OVER (PARTITION BY ff.chcode) carta_piu_usata
  14. FROM
  15. (SELECT DISTINCT *
  16. FROM
  17. (SELECT v1.chcode,
  18. v1.pan_cifrato_sadas,
  19. count(v1.pan_cifrato_sadas) OVER (PARTITION BY v1.chcode, v1.pan_cifrato_sadas) cards
  20. FROM
  21. (SELECT chcode,
  22. pan_cifrato_sadas,
  23. cap_residenza
  24. FROM iccrea_tm.anagrafica_titolari_carte) v1
  25. INNER JOIN iccrea_tm.transazioni_1116_1017_in_anag_12mm v2 ON v1.chcode = v2.chcode
  26. AND v1.pan_cifrato_sadas = v2.nm_strumento_appl) ll) ff) vv;
  27.  
  28. CREATE VIEW v_clienti_almeno_debito_credito_1116_1017 AS
  29. SELECT *
  30. FROM
  31. (SELECT chcode,
  32. count(CASE WHEN ambito_carta = 'CRE' or ambito_carta = 'Credito' THEN 1
  33. ELSE NULL
  34. END) numCre,
  35. count(CASE WHEN ambito_carta = 'PRE' or ambito_carta = 'Prepagata' THEN 1
  36. ELSE NULL
  37. END) numPre,
  38. count(CASE WHEN ambito_carta = 'DEB' or ambito_carta = 'Debito' THEN 1
  39. ELSE NULL
  40. END) numDEB
  41. FROM t_chcode_ambitocarta_1116_1017
  42. GROUP BY chcode
  43. ORDER BY chcode ASC) TEMP
  44. WHERE numCre != 0
  45. AND numDeb != 0
  46. ORDER BY chcode ASC;
  47.  
  48. CREATE VIEW v_clienti_almeno_debito_credito_prepagata_1116_1017 AS --todo
  49. SELECT *
  50. FROM
  51. (SELECT chcode,
  52. count(CASE WHEN ambito_carta = 'CRE' or ambito_carta = 'Credito' THEN 1
  53. ELSE NULL
  54. END) numCre,
  55. count(CASE WHEN ambito_carta = 'PRE' or ambito_carta = 'Prepagata' THEN 1
  56. ELSE NULL
  57. END) numPre,
  58. count(CASE WHEN ambito_carta = 'DEB' or ambito_carta = 'Debito' THEN 1
  59. ELSE NULL
  60. END) numDEB
  61. FROM t_chcode_ambitocarta_1116_1017
  62. GROUP BY chcode
  63. ORDER BY chcode ASC) TEMP
  64. WHERE numCre != 0
  65. AND numDeb != 0
  66. AND numPre != 0
  67. ORDER BY chcode ASC;
  68.  
  69. CREATE VIEW v_clienti_solo_credito_1116_1017 AS
  70. SELECT *
  71. FROM
  72. (SELECT chcode,
  73. count(CASE WHEN ambito_carta = 'CRE' or ambito_carta = 'Credito' THEN 1
  74. ELSE NULL
  75. END) numCre,
  76. count(CASE WHEN ambito_carta = 'PRE' or ambito_carta = 'Prepagata' THEN 1
  77. ELSE NULL
  78. END) numPre,
  79. count(CASE WHEN ambito_carta = 'DEB' or ambito_carta = 'Debito' THEN 1
  80. ELSE NULL
  81. END) numDEB
  82. FROM t_chcode_ambitocarta_1116_1017
  83. GROUP BY chcode
  84. ORDER BY chcode ASC) TEMP
  85. WHERE numCre > 0
  86. AND numDeb = 0
  87. AND numPre = 0
  88. ORDER BY chcode ASC;
  89.  
  90.  
  91. CREATE VIEW v_clienti_solo_debito_1116_1017 AS
  92. SELECT *
  93. FROM
  94. (SELECT chcode,
  95. count(CASE WHEN ambito_carta = 'CRE' or ambito_carta = 'Credito' THEN 1
  96. ELSE NULL
  97. END) numCre,
  98. count(CASE WHEN ambito_carta = 'PRE' or ambito_carta = 'Prepagata' THEN 1
  99. ELSE NULL
  100. END) numPre,
  101. count(CASE WHEN ambito_carta = 'DEB' or ambito_carta = 'Debito' THEN 1
  102. ELSE NULL
  103. END) numDEB
  104. FROM t_chcode_ambitocarta_1116_1017
  105. GROUP BY chcode
  106. ORDER BY chcode ASC) TEMP
  107. WHERE numCre = 0
  108. AND numDeb > 0
  109. AND numPre = 0
  110. ORDER BY chcode ASC;
  111.  
  112.  
  113. CREATE VIEW v_clienti_solo_prepagate_1116_1017 AS
  114. SELECT *
  115. FROM
  116. (SELECT chcode,
  117. count(CASE WHEN ambito_carta = 'CRE' or ambito_carta = 'Credito' THEN 1
  118. ELSE NULL
  119. END) numCre,
  120. count(CASE WHEN ambito_carta = 'PRE' or ambito_carta = 'Prepagata' THEN 1
  121. ELSE NULL
  122. END) numPre,
  123. count(CASE WHEN ambito_carta = 'DEB' or ambito_carta = 'Debito' THEN 1
  124. ELSE NULL
  125. END) numDEB
  126. FROM t_chcode_ambitocarta_1116_1017
  127. GROUP BY chcode
  128. ORDER BY chcode ASC) TEMP
  129. WHERE numCre = 0
  130. AND numDeb = 0
  131. AND numPre > 0
  132. ORDER BY chcode ASC;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement