![]() |
Εύρεση διπλών καταχωρήσεων μεταξύ δύο πινάκων Καλησπέρα στην παρέα, Έχω έναν πίνακα (tblCustomer) ο οποίος περιλαμβάνει περίπου 2800 εγραφές και ουσιαστικά είναι ο ίδιος πίνακας προερχόμενος απο μια παλαιά βάση με τον πίνακα tblCustomers που ενώ περιλαμβάνει στο 80% περίπου τις ιδιες εγραφές με τον παλαιό, περιλαμβάνει και σχεδόν άλλες τόσες εντελώς νέες. Αν και έχω προσπαθήσει μέσω της επιλογής wizard των ερωτημάτων για να μου βρεί τις διπλότυπες εγραφές μεταξύ των δύο πινάκων, εντούτις λαμβάνω λανθασμένα αποτελέσματα...Και εξηγώ τι εννοω: ενώ έλεγξα και γνωρίζω πως υπάρχουν περίπου 2000+ διπλές εγραφες, οταν τρέχω το ερώτημα μου εφανίζει 63..!! Σας παρακαλώ την βοήθεια σας σε αυτό το κρίσιμο πρόβλημα. Ευχαριστώ εκ προτέρων |
Καλησπέρα Γιώργο πάλι 'έμπλεξες' ! Το εκπληκτικό με σένα είναι ότι δεν μπόρεσα -ποτέ- να προβλέψω ποια θα είναι η επόμενη ερώτησή σου. Έχεις μοναδικό χάρισμα να ασχολείσαι ταυτόχρονα με πολλά και διαφορετικά... Ανέβασε ένα πίνακα -σαν αυτόν με τι διπλότυπες εγγραφές, βάλε περιεχόμενο εικονικό και είναι βέβαιο ότι θα βοηθηθείς. Τα λέμε λοιπόν Νίκος |
1 Συνημμένο(α) Καλησπέρα σε όλους και ιδιαιτέρως και σε εσένα φίλε Νίκο.. Οντως, πάλι έμπλεξα φίλε. Επισυνάπτω μια σχετική βάση - παράδειγμα με αρκετές εικονικές εγραφές και στους δύο πίνακες έτσι ώστε να είμαι πιο κατανοητός. Υ.Γ: Νίκο ομολογώ πως έχεις δίκιο με την παρατήρηση σου φίλε.....πού πάω και εγώ και μπλέκω..!! :-) :d020: |
Καλημέρα Για ποιον πίνακα μιλάμε; Πότε χαρακτηρίζεις μια εγγραφή ίδια με κάποια άλλη; (Ποια πεδία συγκρίνεις και ποια δεν λαμβάνεις υπόψην;) Τα λέμε Γιώργο... Νίκος |
Καλησπέρα Νίκο Το φιλτράρισμα ή αν θέλεις κρητίριο για σκοπούς σύγκρισης των δεδομένων είναι οι αριθμοί τηλεφώνων των πελατών. Το ζητούμενο ουσιαστικά είναι εφόσον συγκρηθούν τα δεδομένα απο τους πίνακες να δημιουργηθεί εν τέλη ένας πίνακας ο οποίος αφενώς θα περιέχει όλες τις μοναδικές εγραφές που υπάρχουν και στους δύο πίνακες, και αφετέρου να εμπεριέχει και τις νέες εγραφές που ήδη υπάρχουν στον δεύτερο πίνακα. Ευχαριστων εκ προτέρων |
1 Συνημμένο(α) Καλησπέρα Όλες οι εγγραφές -με κριτήριο τον αριθμό τηλεφώνου - είναι μοναδικές (*). Έτσι έχω επιλέξει [όνομα], [επίθετο] και [ηλικία]. Πρόσθεσα ένα πεδίο [flag] στον πίνακα για να καταγράψω τις διπλές εγγραφές. Ο κώδικας που χρησιμοποιώ είναι απλός, οπότε εσύ μπορείς να τον προσαρμόσεις και στον άλλο πίνακα , να κάνεις ενώσεις και ότι άλλο θες στη συνέχεια... Είμαι βέβαιος οτι θα τα καταφέρεις με άνεση. Την επόμενη ερώτησή σου στο Forum αποκλείεται να ...μαντέψω! Καλή συνέχεια Γιώργο. Με εκτίμηση, Νίκος (*) Μάλλον δεν πολυνοιάζεσαι για το θέμα αυτό καθ' αυτό. Απλά κάτι άλλο έχεις στο μυαλό σου. Ας είναι... |
Καλημέρα φίλε Νίκο και ευχαριστώ για την βοηθεια σου. Νίκο, ίσως δεν είμουν κατανοητώς απο την αρχή τί θέλω να κάνω. 1. Έχω δύο πίνακες όπως προείπα, έναν πίνακα παλαιό απο μια προηγούμενη βάση (2003 version) και έναν πίνακα απο μια νεότερη βάση (2007 version). 2. Οι πίνακες αυτοί περιέχουν αφενώς μέν ο πρώτος (T_Customers) αρκετούς πελάτες παλαιούς και ο δεύτερος πίνακας (TblCustomer) περιέχει αφενώς μέν όλους τους πρώτους πελάτες που στο παρελθόν ένας φιλος είχε επιχηρήσει να εισάγει στον νεο πίνακα (TblCustomer) εφόσον προσπάθησαν να δημιουργήσουν μια νέα βάση για να εξυπηρετεί τον σκοπό πελατολογίου της επιχήρησης τους. 3. Τώρα εγώ καλουμαι (καθότι απο καλοσύνες δόξα τον θεό) να δημιουργησω μια νέα βαση για τα φιλαράκια μου αλλά υπό νέες προυποθέσεις ότι θα πρέπει να φιλτράρουμε παλαιές εγραφές απο τους πίνακες που υπάρχουν και να βρούμε και τις διπλές καταχωρήσεις οι οποίες πληθαίνουν στην βαση, και να δημιουργήσω έναν νέο "καθαρό" πίνακα ο οποιος θα περιλεμβάνει μόνον μοναδικές εγραφές αλλά παλαιές και νέες. Δηλαδή μοναδικές εγραφές συγκρίνωντας τους δύο πίνακες. Στο παράδειγμα φίλε που μου έστειλες και σε ευχαριστώ, μου δείχνεις τον τρόπο εύρεσης των διπλών εγραφών που υπάρχουν σε καθε πίνακα, πράγμα εντελώς χρήσιμο βέβαια, αλλά Νίκο μου στην ουσία εγω ζητώ να βρώ έναν τρόπο να κάνω τα εξής; 1. Να βρώ και να διαγράψω σε κάθε πίνακα τις διπλές εγραφές με βάση το Όνομα, Επώνυμο και τα τους τρείς αριθμούς τηλεφώνων (Οικίας, εργασίας και κινητό) 2. εφόσον "καθαρίσουμε" τις διπλές εγραφές απο τους δυο πίνακες στην συνέχεια να μπορέσω να συγκρίνω τους δύο μεταξύ τους έτσι ώστε να βρώ και να διαγράψω και πάλι τις ίδιες καταχωρήσει που υπάρχουν μεταξύ των δύο πινάκων, και στην συνέχεια 3. Να δημιουργήσω έναν νέο πίνακα (tblCustomerDetails) ο οποίος να περιλαμβλανει μόνον μοναδικες εγραφές και απο τους δύο πίνακες (με παλαιούς και νέους πελάτες) Για οτιδήποτε θα χαρώ να τα πούμε. Υ.Γ: τίποτα μυστυκιστικό φιλε....απλά αγγαρίες για τον έναν και τον άλλο φίλο...και αυτά για την ψυχή μας βέβαια...:afro::worthy: |
Γιώργο μας Ο κώδικας που ανάρτησα κάνει σχεδόν ό,τι περιγράφεις.
Με εκτίμηση Νίκος |
Καλησπερα Νίκο, Πρώτα από όλα σε ευχαριστώ για την διευκρίνση φίλε μου. Θα το δουλέψω και θα επανέλθω εάν και εφόσον παραστεί αναγκαίο (για να μήν κουράζω κιολας). Θα τα πούμε φίλε. Ευχαριστώ πολύ |
Καλησπέρα στην παρέα Για την υλοποίηση του ζητούμενου προτείνω: 1) Συγκέντρωση όλων των εγγραφών των πινάκων σ’ ένα, πχ στον T_Customers. Αυτό μπορεί να γίνει με ένα ερώτημα προσάρτησης των εγγραφών του ενός πίνακα στον άλλον. Στην προσάρτηση θα εξαιρεθεί το πεδίο αυτόματης αρίθμησης. 2) Εύρεση στο νέο πίνακα T_Customers, των περιττών (επιπλέον) εγγραφών. Μπορεί να γίνει με τον κώδικα του Νίκου. Ο κώδικας βρίσκει τις περιττές εγγραφές και δίνει στο πρόσθετο πεδίο Flag τιμή -1. 3) Διαγραφή των περιττών εγγραφών. Μπορεί να γίνει με ένα ερώτημα διαγραφής και κριτήριο Flag=-1. Φιλικά/Γιώργος ΥΓ Τα αντίστοιχα πεδία των πινάκων πρέπει να είναι ίδιου τύπου. |
Καλημέρα Αυτό που λέμε, ο Γιώργος και εγώ είναι ότι την δουλειά σε μια σχεδίαση πρέπει να την κάνει ο σχεδιαστής. Ως μέλος του Forum -όταν οι γνώσεις μου και ο χρόνος το επιτρέπουν- θα βοηθήσω, αλλά δεν θα πάρω αποφάσεις. Διαβάζω αναρτήσεις φίλων οι οποίοι διατυπώνουν αιτήματα που δεν ξέρεις από πού να τα αγγίξεις. Λες μετά: να ασχοληθώ ή όχι; Ζήτημα ιδιαιτέρως δύσκολο αφού εμπλέκονται αρκετοί παράγοντες που διαμορφώνουν το ναι ή το όχι. Όταν ένα ερώτημα είναι δουλεμένο, έχει σαφήνεια, απαιτεί χρόνο που μπορείς να διαθέσεις, τότε -σε ότι με αφορά θα συμμετάσχω. Υπό άλλες προϋποθέσεις δεν! Για τον Γιώργο -τον ευγενέστατο Κύπριο φίλο μας- έχω να προσθέσω ότι θέλω να βοηθήσω, αλλά όχι να κάνω εγώ την δουλειά που περιγράφω στη τελευταία απάντησή μου. Να είμαστε όλοι καλά... Νίκος |
Καλημέρα στην παρέα, Πρώτα θα ήθελα να ευχαριστήσω και τους δύο φίλους, Γιώργο και Νίκο για τις κατευθύνσεις που μου δίνουν έτσι ώστε να επιλύσω το θέμα Γιώργο μου κάπως έτσι που προτείνεις έχω και εγώ στο μυαλό μου να προχωρήσω, χρησιμοποιώντας βέβαια την λύση που προτείνει ο Νίκος. Νίκο, σε ευθυγράμμηση της τελευταίας σου ανάρτησης πρώτα θέλω να ευχαριστήσω για τα καλά σου λόγια (σχετικά με την αναφορά σου για το ευγενέστατος φίλε μου), όμως θέλω φίλε Νίκο να γνωρίζεις ότι δεν είμαι έμπειρος προγραμματιστής (στρατιωτικός είμαι στην ΜΥΚ) και ποτέ μου δεν αναθέτω σε άλλους "να βγάζουν αυτοί το φίδι από την τρύπα" και εγώ να είμαι απλά θεατής.!! (στην ΜΥΚ είπαμε). Άρα θεωρώ εντελώς άτοπο το τελευταίο σου σχόλιο Νίκο μου διότι σε καμιά περίπτωση δεν ζητάω απο εσένα αλλά και από κανέναν να μου σερβίρει έτοιμο το φαγητό στο πιάτο. Όπως και να έχει, θα την βρώ την άκρη..! Σας ευχαριστώ παιδιά και τους δύο. |
Γιώργο μας Το "ευγενέστατος" είναι αίσθημα και όχι λόγια. Αίσθημα, αφού ο γιος μου είναι αξιωματικός στη Πολεμική Αεροπορία και επομένως ανήκουμε στην ίδια οικογένεια και αισθάνομαι ιδιαίτερη υπερηφάνεια γιαυτό. Όμως, Γιώργο σε γράφω τι πρέπει να κάνεις βήμα - βήμα και επιπλέον τονίζω το σημείο εκείνο που πιστεύω ότι θα συναντήσεις δυσκολίες. Κώδικας: Στη συνέχεια κάνε copypaste τον ένα πίνακα μέσα στον άλλο και 'τσεκάρησε' όχι τις διπλές αλλά τις μονές (εδώ να βοηθήσω αν χρειαστεί)Από εσένα θα περίμενα να ενώσεις τους δυο πίνακες και μετά να πεις "Φίλοι του forum έφτασα εδώ. Παρακαλώ δώστε συνέχεια". Αντ΄ αυτού δες τι γράφεις. Σε κάθε περίπτωση είσαι ο μικρός μου φίλος και θα συνεχίζω να σε υποστηρίζω. Ειλικρινά φίλος Νίκος |
Νίκο, θα δοκιμάσω να κάνω την σύνδεση των δύο πινάκων και εύχομαι και ελπίζώ πως θα τα καταφέρω. Σε διαφορετική περίπτωση θα απευθυνθώ και πάλι στο φόρουμ για την βοήθεια των πιο έμπειρων Σε κάθε περίπτωση ευχαριστώ και πάλι. Καλές γιορτές |
| Η ώρα είναι 16:10. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.