evagelos_21 Δημοσ. 5 Ιουλίου 2007 Δημοσ. 5 Ιουλίου 2007 Γειά σας παιδιά. Εχω μία ερώτηση και θέλω να το κάνω μέσω SQL εντολές. Εχω δυο στήλες Α,Β Α Β 1 1 1 2 0 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10 Υπάρχουν στην στηλη Α τιμές 0 και 1 Το πρόβλημα μου είναι ότι θα ήθελα στη στήλη Β να αλλάξει η αρίθμηση και να είναι ταξινομημένο κατα την στήλη Α Δηλαδή να γίνει κάπως έτσι 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 0 10
Ticket Δημοσ. 5 Ιουλίου 2007 Δημοσ. 5 Ιουλίου 2007 Καλησπέρα evagelos_21 Προσπαθώ να καταλάβω τι θέλεις να κάνεις αλλά δυσκολέυομαι λιγάκι, η ταξινόμιση που ζητάς να γίνει δεν θα έχει σωστές τιμές. Δηλάδη η εγγραφή που έχει Α = 0 έχει και Β = 3 στη ταξίνομηση όμως που ζητάς όταν Α = 0 τότε Β = 10 άρα η τιμή αυτή θα είναι λάθος.
Bspus Δημοσ. 5 Ιουλίου 2007 Δημοσ. 5 Ιουλίου 2007 Δεν ξερω αν τα εχεις γραψει σωστα αλλα η μονη διαφορα στο πρωτο παραδειγμα και το δευτερο ειναι οτι ολα τα μηδενικα (εστω το ενα που υπαρχει) εχουν μεταφερθει κατω κατω ενω η Β στηλη δεν εχει αλλαξει και παραμενει 1,2,3,4... Αν εννοεις οτι θα ηθελες να γινει καπως ετσι 1 1 1 2 1 4 1 5 1 6 1 7 1 8 1 9 1 10 0 3 Τοτε αυτο μπορεις να το κανεις με ενα απλο order by στα select statements (order by A desc) χωρις να αλλαξεις τιποτα Τωρα αν ηθελες αυτο που ζητησες, δηλαδη να μεινει το Β ως εχει αλλα ολα τα μηδενικα στο Α να πανε κατω, πλεον μιλαμε για αλλαγη των εγγραφων και οχι για ταξινομηση. Θα δοκιμαζα κατι σαν αυτο: μετρα ποσες εγγραφες στον πινακα εχουν 0 (πχ 20 εγγραφες απο τις 100) Κανε ενα select με order by B asc. Βρες τι τιμη Β εχει η 80η εγγραφη (αν θεωρησουμε οτι ισχυει το παραδειγμα που εδωσα με τις 20 στις 100) Κανε ενα update και κανε set την τιμη 1 στις εγγραφες οπου η Β ειναι μεχρι την τιμη που βρηκες και 0 οπου ειναι πανω απο αυτην. Ολα αυτα γινονται με απλη SQL αλλα δεν θυμαμαι τις εντολες απ'εξω και δεν εχω ορεξη να τις ψαξω
alkisg Δημοσ. 5 Ιουλίου 2007 Δημοσ. 5 Ιουλίου 2007 Δηλαδή αυτό που ζητάς είναι SELECT A FROM tade ORDER BY A και SELECT B FROM tade ORDER BY B αλλά να πάρεις ενωμένα τα αποτελέσματα; Λογικά θα γίνεται με εμφωλευμένες SELECT του στυλ SELECT A, B FROM (SELECT A FROM tade ORDER BY A, SELECT B FROM tade ORDER BY ... Η σύνταξη είναι στο περίπου (σπάνια χρησιμοποιώ SQL) αλλά δεν πρέπει να απέχει πολύ από το σωστό...
evagelos_21 Δημοσ. 6 Ιουλίου 2007 Μέλος Δημοσ. 6 Ιουλίου 2007 Παιδιά δεν θέλω να κάνω select αλλά update. Δηλαδή τα πεδία στον πίνακα Α με τιμή 0 να αλλάξουν αρίθμηση στον πίνακα Β και να γίνουν μετά τα πεδία που έχουν τιμές 1
alkisg Δημοσ. 6 Ιουλίου 2007 Δημοσ. 6 Ιουλίου 2007 Δηλαδή κάτι τέτοιο αλλά όχι σε temp table? Δες και αυτό..
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.