Η σελίδα μας αναβαθμίστηκε, γι' αυτό τον λόγο τα μέλη μας θα πρέπει να ζητήσουν νέο κωδικό πρόσβασης από την υπηρεσία "Αποστολή κωδικού πρόσβασης".
Εάν το email με τον νέο κωδικό δεν έρθει στο inbox κοιτάξτε και στο spam folder. Ο server είναι φρέσκος και δεν έχει το reputation που του αξίζει.

Έυρεση & διαγραφή διπλών εγγραφών με SQL ερώτημα

Συζητήσεις για την τοπική βάση δεδομένων Access της Microsoft

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
smartmedia
Δημοσιεύσεις: 25
Εγγραφή: 05 Μαρ 2005 18:58

Έυρεση & διαγραφή διπλών εγγραφών με SQL ερώτημα

Δημοσίευση από smartmedia » 21 Απρ 2009 14:40

Γειά χαρά,

Έχω δημιουργήσει μια βάση Access 2003 και εξάγω κάποιες εγγραφές σε CSV αρχείο. Το primary key είναι int auto inc.
Ποιό είναι το πρόβλημα.? Η εισαγωγή των εγγραφών απο το CSV γίνεται με τρόπο που δεν μπορώ να ελέγξω αν θα εισαχθούν εγγραφές οι οποίες υπάρχουν ήδη. Αρα μετά θα πρέπει αφού γίνει η εισαγωγή να ελέγξω αν υπάρχουν διπλές εγγραφές και να τις σβύσω. αυτό που ψάχνω είναι ενα ερώτημα σε SQL το οποίο θα κάνει τον έλεγχο σε ολα τα στοιχεία της εγγραφής εκτός του id που είναι μοναδικό και να μου παρουσιάζει μόνο τις διπλές εγγραφές.
Βρήκα στο internet αυτό αλλά δεν μου δουλεύει. Προφανώς γιατί η COUNT μετράει αριθμούς και όχι κείμενο.

SELECT *, COUNT(products_model) AS dup_rec
FROM table_name
GROUP BY products_model HAVING COUNT(products_model) > 1
ORDER BY id ASC

Καμιά ιδέα...?
Ευχαριστώ.

Άβαταρ μέλους
Sheena
Honorary Member
Δημοσιεύσεις: 3654
Εγγραφή: 07 Σεπ 2005 00:00

Έυρεση & διαγραφή διπλών εγγραφών με SQL ερώτημα

Δημοσίευση από Sheena » 21 Απρ 2009 16:12

Η count μετράει πόσες φορές έχεις την ίδια εγγραφή στον πίνακά σου (διπλοεγγραφές). Ενδεικτικά αναφέρω ένα παράδειγμα:

Select state, count(*)
from authors
group by state
having count(state)>1
order by au_id ASC

Επιπλέον, η Access έχει ερώτημα για διπλοεγγραφές, όπου σε βοηθάει να το γράψεις. ;)

Ακόμη το παράδειγμα που γράφεις είναι σωστό ως ακολούθως:

SELECT products_model, COUNT(*) AS dup_rec
FROM table_name
GROUP BY products_model
HAVING COUNT(products_model) > 1
ORDER BY id ASC
Εικόνα

id12856 Οι άγγελοι πάνε κοντά με τους αγγέλους...

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Έυρεση & διαγραφή διπλών εγγραφών με SQL ερώτημα

Δημοσίευση από dva_dev » 21 Απρ 2009 17:36

H access έχει έτοιμο query wizard που κάνει αυτό το πράγμα, χρησιμοποίησέ τον.

Άβαταρ μέλους
Sheena
Honorary Member
Δημοσιεύσεις: 3654
Εγγραφή: 07 Σεπ 2005 00:00

Έυρεση & διαγραφή διπλών εγγραφών με SQL ερώτημα

Δημοσίευση από Sheena » 21 Απρ 2009 17:47

dva_dev, αυτό έγραψα και εγώ πιο πάνω. ;)
Εικόνα

id12856 Οι άγγελοι πάνε κοντά με τους αγγέλους...

Απάντηση

Επιστροφή στο “MS Access”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες