Προς το περιεχόμενο

Access Query


amorealex

Προτεινόμενες αναρτήσεις

Δημοσ.

Παρακαλώ τη βοήθειά σας στο παρακάτω:

 

Έχω δύο πίνακες "Person" και "Exetasi".

Τα πεδία των πινάκων είναι:

 

PPersonID(Primary Key), PEponimo, POnoma και

EExetasiID(Primary Key), EPersonID(Foreign Key από τον πίνακα "Exetasi", EDate, EDays αντίστοιχα.

 

Η σχέση των δύο πινάκων είναι ένα προς πολλά, αφού το κάθε άτομο έχει πολλές εγγραφές στον πίνακα "Exetasi".

 

Έχω φτιάξει ένα ερώτημα που μου φέρνει το άθροισμα (SUM) από το πεδίο EDays για κάθε άτομο και είναι της μορφής:

>SELECT PPersonID, PEponimo, POnoma, Sum(EDays)
FROM Person INNER JOIN Exetasi ON PPersonID = EPersonID
GROUP BY PPersonID, PEponimo, POnoma

 

Αυτό που θέλω είναι ένα ερώτημα που να μου φέρνει πάλι το άθροισμα (SUM) από το πεδίο EDays για κάθε άτομο, αλλά για συγκεκριμένο χρονικό διάστημα (βλέπε πεδίο EDate).

Δοκίμασα το παρακάτω, αλλά δεν:

>SELECT PPersonID, PEponimo, POnoma, Sum(EDays)
FROM Person INNER JOIN Exetasi ON PPersonID = EPersonID
GROUP BY PPersonID, PEponimo, POnoma
HAVING EDate>DateAdd("yyyy",-2,Date())))

 

Καμμιά ιδέα?

Δημοσ.

Αν κατάλαβα καλά θέλεις να σου βγάζει αποτελέσματα για το πόσες φορές εξετάστηκε;

Γιατί δε χρησιμοποιείς την count;;;

Δημοσ.

Όχι ακριβώς.

Το πεδίο EDays αναφέρεται σε αριθμό ημερών αναρρωτικής άδειας.

 

Αυτό που θέλω λοιπόν είναι, να έχω το σύνολο των ημερών που έχει κάποιος αναρρωτική άδεια σε συγκεκριμένο χρονικό διάστημα. (πχ τα 2 τελευταία χρόνια).

Δημοσ.

καλημέρα,

 

δοκίμασε να βάλεις το πεδίο της ημερομηνίας και στο group by,

δηλαδή έτσι...

 

SELECT PPersonID, PEponimo, POnoma, Sum(EDays)

FROM Person INNER JOIN Exetasi ON PPersonID = EPersonID

GROUP BY PPersonID, PEponimo, POnoma, EDate

HAVING EDate>DateAdd("yyyy",-2,Date())))

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...