freestuff.gr αρχική σελίδα
 FAQFAQ    ΑναζήτησηΑναζήτηση   Λίστα ΜελώνΛίστα Μελών   Ομάδες ΜελώνΟμάδες Μελών   <b>Εγγραφή Μέλους</b>Εγγραφή Μέλους 
 ΠροφίλΠροφίλ   Επιλογές μέλους Επιλογές   Τα bookmarks μου Τα bookmarks μου   Προσωπικά μηνύματαΠροσωπικά μηνύματα 
  διαφήμιση  

Καλώς ήρθατε στο forum μας! Για να συμμετάσχετε στις συζητήσεις θα πρέπει να είσαστε μέλος. Γίνετε μέλος τώρα!.

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


 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » SQL και SQL Servers (RDBMS) » MS Access
Moderators:  Super-Moderators, WebDev Moderators
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [4 Μηνύματα]      Bookmarks Tags: sqlεύρεσηδιαγραφή Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
ΑποστολέαςΜήνυμα
smartmedia


Μέλος από: 05 Μαρ 2005
Μηνύματα: 25

View users profile
ΜήνυμαΣτις: 21 Απρ 2009 13:40    Θέμα: Έυρεση & διαγραφή διπλών εγγραφών με SQL ερώτημα Απάντηση με παράθεση  Mark this post and the followings unread

Γειά χαρά,

Έχω δημιουργήσει μια βάση 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

Μέλος από: 06 Σεπ 2005
Μηνύματα: 256+

View users profile
ΜήνυμαΣτις: 21 Απρ 2009 15:12    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Η 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

Μέλος από: 16 Σεπ 2005
Μηνύματα: 256+

View users profile Visit posters website
blog deviantART facebook linkedin 
ΜήνυμαΣτις: 21 Απρ 2009 16:36    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

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

Μέλος από: 06 Σεπ 2005
Μηνύματα: 256+

View users profile
ΜήνυμαΣτις: 21 Απρ 2009 16:47    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

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

_________________


id12856 Οι άγγελοι πάνε κοντά με τους αγγέλους...
Εμφάνιση Μηνυμάτων:   
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [4 Μηνύματα] Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » SQL και SQL Servers (RDBMS) » MS Access
Τώρα είναι 05 Δεκ 2016 16:31 | All times are UTC + 2


Email This Page to Someone! add to Favorites

     Powered by p h p B B © 2001,2005 p h p B B Group
Για άμεση επικοινωνία με τον διαχειριστή του freestuff.gr στο email: freestuff.gr(παπάκι)gmail.com


Copyright © 1999-2013 Freestuff.gr All Rights Reserved  
Version Aegean, designed by N. Tsaganos