amorealex Δημοσ. 23 Ιουνίου 2008 Δημοσ. 23 Ιουνίου 2008 Παρακαλώ τη βοήθειά σας στο παρακάτω: Έχω δύο πίνακες "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()))) Καμμιά ιδέα?
jamespr Δημοσ. 24 Ιουνίου 2008 Δημοσ. 24 Ιουνίου 2008 Αν κατάλαβα καλά θέλεις να σου βγάζει αποτελέσματα για το πόσες φορές εξετάστηκε; Γιατί δε χρησιμοποιείς την count;;;
amorealex Δημοσ. 24 Ιουνίου 2008 Μέλος Δημοσ. 24 Ιουνίου 2008 Όχι ακριβώς. Το πεδίο EDays αναφέρεται σε αριθμό ημερών αναρρωτικής άδειας. Αυτό που θέλω λοιπόν είναι, να έχω το σύνολο των ημερών που έχει κάποιος αναρρωτική άδεια σε συγκεκριμένο χρονικό διάστημα. (πχ τα 2 τελευταία χρόνια).
vmakrin Δημοσ. 25 Ιουνίου 2008 Δημοσ. 25 Ιουνίου 2008 καλημέρα, δοκίμασε να βάλεις το πεδίο της ημερομηνίας και στο 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())))
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.