Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#11
| |||
| |||
Νάσο δεν δουλεύει σωστά...η κάτι δεν κάνω εγώ σωστά.
|
#12
| |||
| |||
Προσπάθησα να δημιουργήσω έκφραση στο ερώτημα με την εντολή SEL1:(select * from SIGNUP order by SCORE1 limit 3;) αλλά μου βγάζει λάθος σύνταξη. Ποιά είναι η σωστή; |
#13
| |||
| |||
Καλησπέρα, σε περίπτωση που διαλέγοντας με την SELECT TOP 3 εντολή τα πρώτα 3 καλύτερα σκορ έχουμε π.χ. στην 3 θέση ισοβαθμία, με ποια εντολή απορρίπτουμε την 4 στην ουσία θέση; π.χ. 45 40 35 35 αυτή να μην υπολογισθεί... |
#14
| |||
| |||
Καλησπέρα Σάκη, αν ο πίνακας που περιέχει τα Scores έχει και ένα πεδίο με μοναδικές τιμές, το ζητούμενο θα μπορούσε να υλοποιηθεί εύκολα. Για παράδειγμα, στην περίπτωση που ο πίνακας λέγεται Table1, και τα πεδία με τα Scores και τις μοναδικές τιμές Score και ID, θα μπορούσαμε να χρησιμοποιήσουμε το ερώτημα. Κώδικας: SELECT TOP 3 Table1.[Score] FROM Table1 ORDER BY [Score] DESC , ID; |
#15
| |||
| |||
Γιώργο καλησπέρα, έχω προχωρήσει αρκετά τη βάση, χρησιμοποιώ την εντολή "SELECT t.ID_RACE, t.RACE, t.ID_CONT, t.NAMES, t.GR_NAT, t.NATION, t.CATEGORY, t.SCORE1 FROM DAY1_SCORE_PCP AS t WHERE (((t.SCORE1) In (SELECT TOP 4 SCORE1 FROM DAY1_SCORE_PCP WHERE ID_RACE=t.ID_RACE and NATION=t.NATION ORDER BY SCORE1 DESC ))) ORDER BY t.SCORE1 DESC; για να αντλήσω τα 4 μεγαλύτερα σκορ. Πως μπορώ να συνδυάσω την εντολή LIMIT ή ROWNUM για να μην μου φέρνει το 5ο σκορ το οποίο είναι το ίδιο με το 4ο; |
#16
| |||
| |||
Ψάχνωντας λίγο είδα ότι η LIMIT δεν μπορεί να συνδυαστεί με την TOP. Η εντολή FETCH προφανώς είναι πιο κατάλληλη.....το θέμα είναι πως θα την συντάξω στην περίπτωσή μου..... |
#17
| |||
| |||
Γιώργο δοκίμασα την πρότασή σου αλλά δεν δουλεύει.Στην εντολή "SELECT t.ID_RACE, t.RACE, t.ID_CONT, t.NAMES, t.GR_NAT, t.NATION, t.CATEGORY, t.SCORE1 FROM DAY1_SCORE_PCP AS t WHERE (((t.SCORE1) In (SELECT TOP 3 SCORE1 FROM DAY1_SCORE_PCP WHERE ID_RACE=t.ID_RACE and NATION=t.NATION ORDER BY SCORE1 DESC, ID_CONT; ))) πρόσθεσα την ID_CONT που είναι μοναδική(το ID του αθλητή) αλλά έχω περίπτωση με 4πλη ισοβαθμία πχ 35,35,35,35 και φέρνει αποτέλεσμα 140 και όχι 105 που εγώ θέλω.. |
#18
| |||
| |||
Καλησπέρα 1) Σάκη η πρότασή μου αφορούσε απλό ερώτημα και όχι σύνθετο. Στη συγκεκριμένη περίπτωση, το εσωτερικό ερώτημα (απλό) επιστρέφει το σύνολο των 3 στοιχείων{35, 35, 35}. Κάθε μία από τις 4 ισοβαθμίες (35, 35, 35, 35) στο κύριο ερώτημα ανήκει στο παραπάνω σύνολο (ικανοποιεί το κριτήριο IN) και συνεπώς επιστρέφεται. Με άλλα λόγια επιστρέφονται 4 εγγραφές και σωστά το άθροισμα είναι 140 και όχι 105. Ίσως (δεν μπορώ να το δοκιμάσω) αν έβαζες στο εξωτερικό Select το TOP 3 και πρόσθετες και την πρόταση ταξινόμησης ORDER BY t.SCORE1 DESC, t.ID_CONT, να είχες σωστό αποτέλεσμα. 2) Από τις εκφράσεις TOP, LIMIT, ROWNUM, FETCH και OFFSET, που χρησιμοποιούνται στην SQL για τον περιορισμό των εγγραφών που επιστρέφονται από ένα ερώτημα, αν δεν κάνω λάθος, η Access υποστηρίζει μόνο την TOP. |
#19
| |||
| |||
Γιώργο πως θα μπορώ να συντάξω το εξωτερικό SELECT TOP 3 αναφέρεις;
|
#20
| |||
| |||
Σάκη, δοκίμασε μήπως δουλέψει: Κώδικας: SELECT TOP 3 t.ID_RACE, t.RACE, t.ID_CONT, t.NAMES, t.GR_NAT, t.NATION, t.CATEGORY, t.SCORE1 FROM DAY1_SCORE_PCP AS t WHERE (((t.SCORE1) In (SELECT TOP 3 SCORE1 FROM DAY1_SCORE_PCP WHERE ID_RACE=t.ID_RACE and NATION=t.NATION ORDER BY SCORE1 DESC, ID_CONT ))) ORDER BY t.SCORE1 DESC, t.ID_CONT |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
Σύνθεση Φίλτρα σε φόρμα | stavross | Access - Ερωτήσεις / Απαντήσεις | 6 | 14-12-12 18:28 |
[Γενικά] Εμφάνιση θέσεων (με κριτήριο την ημερομηνία) | PANIK | Excel - Ερωτήσεις / Απαντήσεις | 3 | 27-04-12 10:27 |
[Γενικά] Εμφάνιση θέσεων | PANIK | Excel - Ερωτήσεις / Απαντήσεις | 2 | 23-04-12 22:21 |
[Γενικά] Στατιστική σχημάτων (θέσεων) | PANIK | Excel - Ερωτήσεις / Απαντήσεις | 5 | 17-04-12 18:15 |
[Γενικά] ΚΑΤΑΝΟΜΗ ΕΔΡΩΝ (ΕΚΛΟΓΕΣ) | steliosx | Excel - Ερωτήσεις / Απαντήσεις | 1 | 01-10-10 19:43 |
Η ώρα είναι 19:18.