SQL-eksempel 05
|
<< Click to Display Table of Contents >> SQL-eksempel 05 |
![]() ![]()
|
Check indlæggelsesnumre vs. antal indlæggelser
For baggrund - se NeoBase opgørelser - definitioner og konventioner.
==================================================================================
/* Finder børn med højeste indlæggelsesnummer ulig barnet antal indlæggelser */
SELECT
np.PersonId
, np.Fodselsdato
, np."GA hele uger" AS "GAuger"
, np."GA + dage" AS "GA+dage"
, np.Fodselsvaegt
, COUNT(n2."Indlaeggelses Nr") AS "Antal Indl."
, MAX(n2."Indlaeggelses Nr") AS "Max. Indl.Nr"
FROM NeoPers np, Neobase2 n2
WHERE
n2.PersonId = np.PersonId
AND
(np.PersonId IN
(SELECT npy.PersonId
FROM NeoPers npy, Neobase2 n2y
WHERE
(n2y.PersonId = npy.PersonId)
AND (EXTRACT(YEAR FROM npy.Fodselsdato) > 0)
AND (EXTRACT(YEAR FROM n2y.Indlaeggelsesdato) > 0)
AND (EXTRACT(YEAR FROM n2y.Udskrivelsesdato) = '2003')
)
)
GROUP BY
np.PersonId
, np.Fodselsdato
, [GA hele uger]
, [GA + dage]
, np.Fodselsvaegt
HAVING
MAX(n2."Indlaeggelses Nr") <> COUNT(n2."Indlaeggelses Nr")
ORDER BY
np.PersonId;
==================================================================================
SQL-eksemplet
Specifikke målsætning: finder patienter der i NeoBasen, hvor indlæggelsesnumre er sprunget over - dvs. hvor højeste indlæggelsesnummer for den givne patient afviger fra barnets antal af indlæggelser. Bør kombineres med SQL tjek overfor duplikate anvendelser af indlæggelsesnumre.
De fejlregistreringer, der findes ved denne tjek vil give fejl ved opgørelser over antallet af lokalfødte i sig selv eller lokalfødte med givne tilstande eller forløb.
Sammenlign evt. med programmets paradox LocalSQL syntaks anvendt fra programmets Data-tjek-menu.
_____________________________
27-10-2017 - © 2003-2017 Niels Knabe