Advertisement
Guest User

Untitled

a guest
Aug 23rd, 2019
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 1.48 KB | None | 0 0
  1. CREATE OR REPLACE VIEW NumeroEsordiPatologie AS
  2. SELECT  E.Patologia, PAT.ParteCorpo, COUNT(*) AS NumeroEsordiPatologia
  3. FROM    paziente P
  4.         INNER JOIN
  5.         esordio E ON P.CodFiscale = E.Paziente
  6.         INNER JOIN
  7.         patologia PAT ON E.Patologia = PAT.Nome
  8. WHERE   P.Citta = 'Pisa'
  9.         AND E.DataGuarigione IS NULL -- attualmente affetti
  10. GROUP BY E.Patologia, PAT.ParteCorpo;
  11.  
  12.  
  13. SELECT  D2.ParteCorpo, IF(NP.ParteCorpo IS NOT NULL, SUM(NP.NumeroEsordiPatologia), 0) AS NumPazientiParteCorpo, D.PatologiaMin
  14. FROM    NumeroEsordiPatologie NP
  15.         NATURAL LEFT OUTER JOIN
  16.         (
  17.             SELECT  NP2.ParteCorpo, NP2.Patologia AS PatologiaMin-- joina con le parti del corpo
  18.             FROM    NumeroEsordiPatologie NP2 NATURAL JOIN esordio E
  19.                     INNER JOIN paziente P1 ON E.Paziente = P1.CodFiscale
  20.             WHERE   P1.Citta = 'Pisa'
  21.                     AND E.DataGuarigione IS NULL
  22.                    -- AND MONTH(E.DataEsordio) BETWEEN 1 AND MONTH(CURRENT_DATE)-1
  23.                    -- AND YEAR(E.DataEsordio) = YEAR(CURRENT_DATE)
  24.                     AND NP2.NumeroEsordiPatologia < ALL ( -- così in caso di ex aequo restituisce null
  25.                             SELECT  NP3.NumeroEsordiPatologia
  26.                             FROM    NumeroEsordiPatologie NP3
  27.                             WHERE   NP3.ParteCorpo = NP2.ParteCorpo
  28.                                     AND NP2.Patologia <> NP3.Patologia
  29.                         )
  30.             GROUP BY NP2.ParteCorpo
  31.         ) AS D
  32.         NATURAL RIGHT OUTER JOIN
  33.             (
  34.                 SELECT DISTINCT ParteCorpo
  35.                 FROM    patologia
  36.             ) AS D2
  37. GROUP BY D2.ParteCorpo;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement