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

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

Συγκριση εγγραφών σε δύο πίνακες


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


Μέλος από: 01 Μαρ 2006
Βοηθήματα: 1
Μηνύματα: 256+

Περιοχή: Veria
View users profile Visit posters website
ΜήνυμαΣτις: 23 Νοε 2008 11:58    Θέμα: Συγκριση εγγραφών σε δύο πίνακες
Περιγραφή θέματος: και εμφάνιση των διαφορετικών εγγραφών
Απάντηση με παράθεση  Mark this post and the followings unread

Και πάλι με ένα "ωράιο" πρόβλημα...

Έχω ένα πίνακα paraggelies και ένα πίνακα paradoseis οι οποίοι έχουν κάποια πεδία ίδια

πως μπορώ να συγκρίνω τις εγγραφές που έχουν οι πίνακες και να εμφανίζω τις εγγραφές που δεν είναι ιδιες. Το ζητούμενο είναι να ελέγξω τις παραδόσεις με τις παραγγελίες και να δω τι μου μένει να παραδώσω ακόμα

Φαντάζομαι με ένα query θα γίνεται και το μυαλό μου πήγε στο ερώτημα διασταύρωσης αλλά δεν είμαι σίγουρος

I have a question...

_________________

Ειδήσεις από όλη την Ελλάδα
cherouvim
Script Master

Μέλος από: 13 Ιουλ 2005
Βοηθήματα: 7
Νέα: 1
Scripts: 1
Μηνύματα: 256+

Περιοχή: Athens, Greece
View users profile Visit posters website
blog linkedin twitter 
ΜήνυμαΣτις: 23 Νοε 2008 18:28    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Δεν έπρεπε να έχεις 1 πίνακα με τις παραγγελίες ο οποίος θα έχει και ένα status field με πιθανές τιμές draft, pending, dispatched, completed, archived, canceled;

_________________
blog
dva_dev
Script Master

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

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

Αν στον paraggelies έχεις ένα πεδίο ID για primary key, και στον paradoseis έχεις ένα πεδίο orderid (foreign key προς τον paraggelies ώστε να γίνεται η σύνδεση των δύο πινάκων) μπορείς να φτιάξεις κάτι τέτοιο:
κώδικας:
select paraggelies.*
from paraggelies left join paradoseis on paraggelies.id=paradoseis.orderid
where (paradoseis.orderid is null)

Η όλη ιστορία είναι αντί για [inner] join να χρησιμοποιήσεις left [outer] join, από τον paraggelies προς τον paradoseis.

Πάντως σκέψου μήπως αλλάζοντας τη λογική που λειτουργεί η access σου μπορείς να χρησιμοποιήσεις την πρόταση του cherouvim. Αν μπορείς θα απλοποιήσει αρκετά τα πράγματα.
majuranus


Μέλος από: 01 Μαρ 2006
Βοηθήματα: 1
Μηνύματα: 256+

Περιοχή: Veria
View users profile Visit posters website
ΜήνυμαΣτις: 24 Νοε 2008 00:56    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Θα ήταν καλή ιδέα αν οι παραδόσεις ήταν πάντα ανάλογες των παραγγελιών, επειδή όμως μια παράδοση δεν είναι απόλυτα σίγουρο ότι θα είναι ίδια με μια παραγγελία μάλλον θα κινηθώ στην λύση #2 ευχαριστώ πάντως... το δοκιμάζω και βλέπουμε

_________________

Ειδήσεις από όλη την Ελλάδα
kon73
Script Master

Μέλος από: 13 Απρ 2008
Βοηθήματα: 3
Μηνύματα: 224


View users profile Visit posters website
ΜήνυμαΣτις: 24 Νοε 2008 15:08    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Καλησπέρα,

Να εκφρασώ κι εγώ την άποψη μου η οποία συγκλίνει με του cherouvim με μία όμως παραλλαγή.

Έχεις τον πίνακα παραγγελίες και τον πίνακα παραδόσεις. Ο πίνακας παραδόσεις λογικά θα μπορούσε να εμπεριέχει πεδία επιπρόσθετα από τον παραγγελίες όπως Τόπος Παράδοσης, Ημερομηνία Παράδοσης (Που φυσικά είναι διαφορετική από την ημερομηνία παραγγελίας), Ονοματεπώνυμο παραλαβώντος κλπ.
Όλες αυτές οι πληροφορίες και ίσως και μερικές ακόμες θα μπορούσαν να είναι επιπλέον πεδία για τον πίνακά σου παραγγελίες και να ισχύει το Status των Pending κλπ που αναφέρει ο cherouvim
Όμως αν δεν έχουμε dispatch status αυτά τα επιπλεόν πεδία παραμένουν κενά επομένως η λογική των 2 διαφορετικών πινάκων φαίνεται πιο σωστή αλλά διατηρώντας στον πίνακα παραγγελίες το status.
Εν ολίγης συμφωνώ εν μέρη με τον cherouvim καθότι η ύπαρξη 2 πινάκων ίσως και να είναι απαραίτητη για να έχουμε στον πίνακα αποστολές τις επιπρόσθετες πληροφορίες που χρειάζεται.


Επίσης η εύρεση αταίριαστων είναι ένας οδηγός της Access για τα ερωτήματα (Δημιουργία-Οδηγός εύρεσης αταίριαστων) ο οποίος βρίσκει τα αταίριαστα μεταξύ δύο πινάκων μία λύση σύντομη εκτός από την προτεινόμενη από τον DVA_DEV την οποία βέβαια λύση νομίζω ότι είναι η καλύτερη (Δεν προτείνω συνήθως οδηγούς, αλλά καλή επιλογή για χρήση σε όσους δεν κατέχουν καλά την SQL.)

Φιλικά

kon73

_________________
My New Site http://www.MsAccess.gr
Free Access (VBA Code,Tutorials, Mdbs, Eclass, Eshop)
majuranus


Μέλος από: 01 Μαρ 2006
Βοηθήματα: 1
Μηνύματα: 256+

Περιοχή: Veria
View users profile Visit posters website
ΜήνυμαΣτις: 24 Νοε 2008 18:14    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Για άλλη μια φορά μου απαντήσατε με τρόπο κατανοητό και απλό μιας και δεν είμαι expert στην Access Ευχαριστώ πολύ

_________________

Ειδήσεις από όλη την Ελλάδα
majuranus


Μέλος από: 01 Μαρ 2006
Βοηθήματα: 1
Μηνύματα: 256+

Περιοχή: Veria
View users profile Visit posters website
ΜήνυμαΣτις: 26 Νοε 2008 21:25    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Το παλεύω με τον οδηγό

Στην πραγματικότητα έχω 2 πίνακες, τον kiniseis που έχει kdparaggelias και τον paradoseis που επίσης έχει kdparaggelias κανένα από τα δύο δεν είναι πρωτέυοντα κλειδιά (δεν ξέρω αν παίζει ρόλο αυτό) αλλά οι τιμές τους μπαίνουν με κώδικα και είναι αυτές που πρέπει δηλαδή μια κίνηση με κωδικό παραγγελίας 1 θα αντιστοιχεί σε μια παράδοση με κωδικό παραγγελίας 1

και θέλω να βλέπω σε μια παραγγελία που έχει κινήσεις το υπόλοιπο που μένει να παραδοθεί
(αφαιρώ τις κινήσεις από τις παραδόσεις)

_________________

Ειδήσεις από όλη την Ελλάδα
Εμφάνιση Μηνυμάτων:   
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [7 Μηνύματα] Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » SQL και SQL Servers (RDBMS) » MS Access
Τώρα είναι 09 Δεκ 2016 15:25 | 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