Καλησπέρα στην παρέα
Φίλε Τάσο έκανες πολύ καλή δουλειά.
Νάσο, ίσως άρχισα να καταλαβαίνω.
Για τον ασθενή «ΑΑΑ» γνωρίζουμε αρχικά και καταχωρούμε την ημερομηνία εισόδου. Μέχρι να πάρει εξιτήριο ανήκει στην κατηγορία «νοσηλευόμενος» και η ημερομηνία εξόδου είναι κενή.
Μόλις πάρει εξιτήριο ο «ΑΑΑ» καταχωρούμε την ημερομηνία εξόδου και του αλλάζουμε και κατηγορία τον κατατάσσουμε στους «μη νοσηλευόμενους».
Με την παραπάνω λογική, αν σήμερα, κοιτάξω τη λίστα των ασθενών, ξέρω αμέσως ότι όσοι ασθενείς έχουν κενή την ημερομηνία εξόδου νοσηλεύονται και όσοι όχι πήραν εξιτήριο, δηλαδή είναι πλεονασμός η κατηγορία «νοσηλευόμενος» και «μη νοσηλευόμενος».
Θέλω τους ασθενείς που νοσηλεύτηκαν σε ένα συγκεκριμένο μήνα (έτος/ μήνας).
Σ’ αυτούς περιλαμβάνονται:
1. Όσοι εισήχθηκαν αυτό το μήνα
2. Όσοι πήραν εξιτήριο αυτό το μήνα (ανεξάρτητα από την ημερομηνία εισόδου).
3.Όσοι εισήχθηκαν πριν απ’ αυτόν το μήνα και εξακολουθούν να νοσηλεύονται (ημερομηνία εξόδου κενή) ή η ημερομηνία εξόδου καλύπτει το μήνα.
Αν έτσι είναι, δες το παρακάτω ερώτημα που βασίζεται στον πίνακα του Τάσου.
Κώδικας:
SELECT tblActivities.ID, tblActivities.PatID, tblActivities.PatEntryDate,
tblActivities.PatExitDate, tblActivities.PatHasBed
FROM tblActivities
WHERE ((Format([patEntryDate],"yyyy/mm")=[Δώσε το μήνα σε μορφή: εεεε/μμ])) OR
((Format(nz([PatExitDate],0),"yyyy/mm")=[Δώσε το μήνα σε μορφή: εεεε/μμ])) OR
((Format([patEntryDate],"yyyy/mm")<[Δώσε το μήνα σε μορφή: εεεε/μμ]) AND
(Format(nz([PatExitDate],#31/12/9999#),"yyyy/mm")>=[Δώσε το μήνα σε μορφή: εεεε/μμ]))
ORDER BY tblActivities.PatEntryDate DESC;
Φιλικά/Γιώργος