SQL-eksempel 02

<< Click to Display Table of Contents >>

Navigation:  NeoBase SQL-eksempler >

SQL-eksempel 02

Previous pageReturn to chapter overviewNext page

Navle-katetre: Udskrivelser / Udskrevne børn uden NAK eller NVK

For baggrund - se NeoBase opgørelser - definitioner og konventioner.

Hér er nogle eksempler, der glimrende illustrerer forskellene i SQL-udtryk, alt efter hvordan man vælger at lægge sine mål og definitioner med betydning for opgørelser, der inkluderer børn med flere indlæggelser.
Da anvendelsen af navlekatetre, som i de viste eksempler, er knyttet mere til barnets indlæggelse og grundlæggende tilstand som f.eks. præmatur eller immatur snarere end til det specifikt perinatale, er der her valgt ikke at afgrænse opgørelse over NAK/NVK til lokalfødte børn (som ellers valgt i Odense's/Langtved's NeoBase opgørelse 2001).

1. Første eksempel tæller blot udskrivelser, hvor der ikke har været anvendt NAK eller NVK, og hvor eventuelle genindlæggelser tælles hver for sig.
Resultat på den testede database: 667.

==================================================================================

/* Tæller udskrivelser i det valgte år, hvor der ikke har været anvendt NAK/NVK
under pågældende indlæggelse(r). */

 

SELECT COUNT(n2.PersonId) AS "Antal"

FROM Neobase2 n2

WHERE (EXTRACT(YEAR FROM n2.Udskrivelsesdato) = 2001)

AND (n2."Navle-Arterie/vene-kat." = '0')

;

==================================================================================

2. Andet eksempel tæller distinkt på antal børn og tæller altså ikke flefold for genindindlæggerlser, men kan godt tælle børn med både hér og under opgørelse af børn, der har haft NAK/NVK under en anden indlæggelse i dette udskrivelsesår.
Resultat på den testede database: 647.

==================================================================================

/* Tæller børn, der er udskrevet i det valgte år, og som har haft indlæggelse(r)
i dette år uden at have haft NAK/NVK under pågældende indlæggelse. */

 

SELECT COUNT(n2.PersonId) AS "Antal"

FROM

(SELECT DISTINCT n2.PersonId

FROM Neobase2 n2

WHERE (EXTRACT(YEAR FROM n2.Udskrivelsesdato) = '2001')

  AND (n2."Navle-Arterie/vene-kat." = '0')

)

;

==================================================================================

3. Dette tredie eksempel tæller distinkt kun børn, der ikke under nogen af deres indlæggelser har haft NAK/NVK uanset udskrivelsesårgang for hvornår de havde deres NAK/NVK.
Resultat på den testede database: 642.

==================================================================================

/* Tæller børn, der er udskrevet i det valgte år, og som ikke under nogen af deres
indlæggelser, uanset udskrivelsesårgang, har haft NVK/NAK. */

 

SELECT COUNT(PersonId) AS "Antal"

FROM

(SELECT DISTINCT n2.PersonId

FROM Neobase2 n2

WHERE (EXTRACT(YEAR FROM n2.Udskrivelsesdato) = '2001')

  AND (n2.PersonId NOT IN

  (SELECT n22.PersonId FROM NeoBase2 n22

    WHERE (n22."Navle-Arterie/vene-kat." > '0')))

)

;

==================================================================================

4. Dette sidste og mest afgrænsende eksempel tæller distinkt på børn, der indenfor det valgte udskrivelsesår ikke har haft NAK/NVK, men uden at udelukke børn der kan have haft NAK/NVK under indlæggelse med udskrivelse i det foregående udskrivelsesår.
Resultat på den testede database: 643.

==================================================================================

/* Tæller børn, der er udskrevet i det valgte år, og som ikke under nogen af deres
indlæggelser indenfor denne udskrivelsesårgang har haft NVK/NAK. */

 

SELECT COUNT(PersonId) AS "Antal"

FROM

(SELECT DISTINCT n2.PersonId

FROM Neobase2 n2

WHERE (EXTRACT(YEAR FROM n2.Udskrivelsesdato) = '2001')

  AND (n2."Navle-Arterie/vene-kat." = '0')

  AND (n2.PersonId NOT IN

  (SELECT n22.PersonId FROM NeoBase2 n22

    WHERE (n22."Navle-Arterie/vene-kat." > '0')

    AND (EXTRACT(YEAR FROM n22.Udskrivelsesdato) = '2001')))

)

;

==================================================================================

SQL-eksemplerne

Læg mærke til dels anvendelsen af de viste sub-queries, dels brugen af prædikatet DISTINCT og dets placering indenfor de anvendte sub-queries for at kunne tælle på distinkte børn fremfor på indlæggelser.

_____________________________

27-10-2017 - © 2003-2017 Niels Knabe