16-11-18, 22:13
|
| Όνομα: ΝΑΣΟΣ Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2016 Γλώσσα λογισμικού Office: Ελληνική | | Εγγραφή: 14-10-2010
Μηνύματα: 430
| |
Καλησπέρα Σάκη Παράθεση:
Πως γίνεται να παίρνω στο πεδίο TOTAL στο ερώτημα QR_RANKcateg το σύνολο από τα
3 μεγαλύτερα σκορ ανά κατηγορία και όχι από όλα τα σκορ;
| Η πρότασή μου.
1. Δημιουργούμε ένα ερώτημα συνένωσης. πχ."UNION_SCORE" Κώδικας: SELECT SIGNUP.ID_SIGN, SIGNUP.CATEGORY, SIGNUP.NAMES, SIGNUP.SCORE1 AS SCORE
FROM SIGNUP;
union
SELECT SIGNUP.ID_SIGN, SIGNUP.CATEGORY, SIGNUP.NAMES, SIGNUP.SCORE2 AS SCORE
FROM SIGNUP;
UNION SELECT SIGNUP.ID_SIGN, SIGNUP.CATEGORY, SIGNUP.NAMES, SIGNUP.SCORE3 AS SCORE
FROM SIGNUP;
2. Στη συνέχεια δημιουργούμε ένα δεύτερο ερώτημα πχ "TOP3_SCORES" όπου αντλούμε τα
τρία μεγαλύτερα σκορ καθε κατηγορίας. Κώδικας: SELECT t.ID_SIGN, t.NAMES, t.CATEGORY, t.SCORE
FROM UNION_SCORE AS t
WHERE (((t.SCORE) In (SELECT TOP 3 SCORE
FROM UNION_SCORE
WHERE CATEGORY = t.CATEGORY
ORDER BY SCORE DESC
)))
ORDER BY t.SCORE DESC;
3.Τρίτο ερώτημα για το σύνολο των επιμέρους σκόρ "TOTAL_TOP3_SCORES" Κώδικας: SELECT TOP3_SCORES.ID_SIGN, SIGNUP.NAMES, SIGNUP.CATEGORY, Sum(TOP3_SCORES.SCORE) AS TOTAL
FROM TOP3_SCORES INNER JOIN SIGNUP ON TOP3_SCORES.ID_SIGN = SIGNUP.ID_SIGN
GROUP BY TOP3_SCORES.ID_SIGN, SIGNUP.NAMES, SIGNUP.CATEGORY;
4. Και για το ερώτημά σου "QR_RANKcateg" κανε τις ανάλογες προσαρμογές.
ΥΓ. Σίγουρα θα υπάρχουν και καλύτερες προτάσεις.
__________________
Φιλικά, Νάσος
|