|
<< Click to Display Table of Contents >> Vers. 3 SQL tilretning eksempel |
![]() ![]()
|
Hvis du f.eks. har gemt et brugerdefineret SQL-udtryk i vers. 1 ell. 2 for at hente de diagnoser, der i løbet af de sidste 6 år er udgået og ikke erstattet af tilsvarende koder med ny tekst, som i nedenstående:
/* Udgåede ikke er erstattede diagnose kodenumre sidste 6 år */
SELECT SKSkode
INTO MEMORY SKStemp
FROM SKScomplete
WHERE DatoSlut > CURRENT_DATE;
SELECT sks.*
FROM SKScomplete AS sks
LEFT JOIN MEMORY SKStemp AS mt
ON sks.SKSkode = mt.SKSkode
WHERE DatoSlut BETWEEN (CURRENT_DATE - 365*6) AND CURRENT_DATE
AND sks.Kat = 'dia'
AND mt.SKSkode IS NULL;
så skal dette for at kunne fungere med SQL-dialekten i SQLite tilrettes som nedenstående. Se også om JULIANDAY.
Grå kode: kode der slettes
Rød kode: kode der tilføjes
/* Udgåede ikke er erstattede diagnose kodenumre sidste 6 år */
DROP TABLE IF EXISTS SKStemp;
CREATE TEMPORARY TABLE SKStemp AS
SELECT SKSkode
--INTO MEMORY SKStemp
FROM SKScomplete
WHERE DatoSlut > CURRENT_DATE;
SELECT sks.*
FROM SKScomplete AS sks
LEFT JOIN MEMORY SKStemp AS mt << MEMORY skal slettes
ON sks.SKSkode = mt.SKSkode
--WHERE DatoSlut BETWEEN (CURRENT_DATE - 365*6) AND CURRENT_DATE
WHERE JULIANDAY(DatoSlut) BETWEEN (JULIANDAY(CURRENT_DATE) - 365*6) AND JULIANDAY(CURRENT_DATE)
AND sks.Kat = 'dia'
AND mt.SKSkode IS NULL;
__________________________