SQL-eksempel 05

<< Click to Display Table of Contents >>

Navigation:  NeoBase SQL-eksempler >

SQL-eksempel 05

Previous pageReturn to chapter overviewNext page

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