jamespr Δημοσ. 1 Αυγούστου 2008 Δημοσ. 1 Αυγούστου 2008 Γεια σας σε όλους. Θα ήθελα τη βοήθεια σας. Έχω φτιάξει τέσσερις πίνακες και τους έχω συνδέσει με σχέσεις ενεργοποιώντας διαδοχική ενημέρωση κτλ. Θέλω να φτιάξω κάποιο ερώτημα που θα εμφανίζει αποτελέσματα πεδίων από όλους τους πίνακες. Με απλό ερώτημα δε γίνεται προσπάθησα με sql αλλά παλι δε δουλεύει και δεν καταλαβαίνω που κάνω λάθος. Ορίστε τι έφτιαξα: SELECT [1-DATA].ΜΗΤΡΩΟ, [1-DATA].ΕΠΩΝΥΜΟ, [1-DATA].ΟΝΟΜΑ, [1-DATA].ΠΑΤΡΩΝΥΜΟ, [1-ΕΚΠΑΙΔΕΥΣΕΙΣ].ΕΚΠΑΙΔΕΥΣΗ, [1-ΕΚΠΑΙΔΕΥΣΕΙΣ].ΕΚΠΑΙΔΕΥΣΗ2, [1-ΙΚΑΝΟΤΗΤΕΣ].[ΓΡΑΜΜΑΤΙΚΕΣ ΓΝΩΣΕΙΣ], [1-ΙΚΑΝΟΤΗΤΕΣ].ΣΧΟΛΗ, [1-ΟΙΚΟΓΕΝΕΙΑ].[ΟΙΚΟΓΕΝ ΚΑΤΑΣΤΑΣΗ], [1-ΟΙΚΟΓΕΝΕΙΑ].[ΟΝΟΜ/ΜΟ ΣΥΖΥΓΟΥ], FROM [1-DATA], [1-ΕΚΠΑΙΔΕΥΣΕΙΣ], [1-ΙΚΑΝΟΤΗΤΕΣ], [1-ΟΙΚΟΓΕΝΕΙΑ] WHERE ((([1-DATA].ΜΗΤΡΩΟ)=[ΔΩΣΕ ΑΡΙΘΜΟ ΜΗΤΡΩΟΥ])); Ακόμα πως γίνεται να βγάζει όλα τα πεδία χωρίς WHERE;; Ευχαριστώ πάρα πολύ για το χρόνο σας προκαταβολικά
QueLastima Δημοσ. 1 Αυγούστου 2008 Δημοσ. 1 Αυγούστου 2008 Στο from θα πρέπει να βάλεις και τα Inner Join των πινάκων σου. δεν αρκεί το "FROM [1-DATA], [1-ΕΚΠΑΙΔΕΥΣΕΙΣ], [1-ΙΚΑΝΟΤΗΤΕΣ], [1-ΟΙΚΟΓΕΝΕΙΑ]" αν για παράδειγμα στον πίνακας DATA έχεις το πεδίο Α που συνδέεται με το πεδίο Β του πίνακα ΕΚΠΑΙΔΕΥΣΕΙΣ θα πρέπει το from να γίνει ως εξής. from DATA inner join ΕΚΠΑΙΔΕΥΣΕΙΣ ON DATA.A = ΕΚΠΑΙΔΕΥΣΕΙΣ .B και αντίστοιχα να κάνεις και τις συνδέσεις με τους υπόλοιπους πίνακες.
jamespr Δημοσ. 1 Αυγούστου 2008 Μέλος Δημοσ. 1 Αυγούστου 2008 Όλα καλα όταν είναι δύο πίνακες όλα δουλεύουν τέλεια όταν όμως βάζω τρεις πίνακες πως τους ενώνω; έγραψα SELECT DATA.ΜΗΤΡΩΟ, DATA.ΕΠΩΝΥΜΟ, DATA.ΟΝΟΜΑ, DATA.ΠΑΤΡΩΝΥΜΟ, ΕΚΠΑΙΔΕΥΣΕΙΣ.ΜΗΤΡΩΟ, ΕΚΠΑΙΔΕΥΣΕΙΣ.ΕΚΠΑΙΔΕΥΣΗ2, ΙΚΑΝΟΤΗΤΕΣ.ΜΗΤΡΩΟ, ΙΚΑΝΟΤΗΤΕΣ.ΣΧΟΛΗ FROM DATA INNER JOIN ΕΚΠΑΙΔΕΥΣΕΙΣ ON DATA.ΜΗΤΡΩΟ = ΕΚΠΑΙΔΕΥΣΕΙΣ.ΜΗΤΡΩΟ FROM DATA INNER JOIN ΙΚΑΝΟΤΗΤΕΣ ON DATA.ΜΗΤΡΩΟ = ΙΚΑΝΟΤΗΤΕΣ.ΜΗΤΡΩΟ WHERE (((DATA.ΜΗΤΡΩΟ)=[ΔΩΣΕ ΑΡΙΘΜΟ ΜΗΤΡΩΟΥ])); αλλά λάθος ακόμα και χωρίς το δεύτερο from πάλι λάθος. Επίσης όταν δε θέλω να του δίνω εγώ τα δεδομένα [ΔΩΣΕ ΑΡΙΘΜΟ ΜΗΤΡΩΟΥ] πως βγάζει όλα τα δεδομένα; Τι βάζω στο where;; Σας ευχαριστώ πάρα πολύ που απαντήσατε τόσο σύντομα
QueLastima Δημοσ. 1 Αυγούστου 2008 Δημοσ. 1 Αυγούστου 2008 >SELECT DATA.ΜΗΤΡΩΟ, DATA.ΕΠΩΝΥΜΟ, DATA.ΟΝΟΜΑ, DATA.ΠΑΤΡΩΝΥΜΟ, ΕΚΠΑΙΔΕΥΣΕΙΣ.ΜΗΤΡΩΟ, ΕΚΠΑΙΔΕΥΣΕΙΣ.ΕΚΠΑΙΔΕΥΣΗ2, ΙΚΑΝΟΤΗΤΕΣ.ΜΗΤΡΩΟ, ΙΚΑΝΟΤΗΤΕΣ.ΣΧΟΛΗ FROM DATA INNER JOIN ΕΚΠΑΙΔΕΥΣΕΙΣ ON DATA.ΜΗΤΡΩΟ = ΕΚΠΑΙΔΕΥΣΕΙΣ.ΜΗΤΡΩΟ INNER JOIN ΙΚΑΝΟΤΗΤΕΣ ON DATA.ΜΗΤΡΩΟ = ΙΚΑΝΟΤΗΤΕΣ.ΜΗΤΡΩΟ δηλαδή σβήσε το δεύτερο from data που έχεις βάλει. όταν θες να δείχνει όλα τα δεδομένα απλά δεν βάζεις where
jamespr Δημοσ. 1 Αυγούστου 2008 Μέλος Δημοσ. 1 Αυγούστου 2008 Σας ευχαριστώ πάρα πολύ QueLastima. Όλα δουλεύουν αλλά 'εχω πάρα πολύ δρόμο για τη βάση μιας και αποφάσισα να μοιράσω τους πίνακες αλλά θα το παλέψω. Να περνάτε καλά και πάλι σας ευχαριστώ πολύ για όλα.
jamespr Δημοσ. 26 Σεπτεμβρίου 2008 Μέλος Δημοσ. 26 Σεπτεμβρίου 2008 Καλησπέρα σε όλους. Ενώ είχα φτιάξει τη βάση και όλα που τα δοκίμασα δούλευαν κανονικά διαπιστώνω ότι δε βγάζει αποτελέσματα το ερώτημα που είχα φτιάξει. Σε όλους τους πίνακες κοινό στοιχείο είναι το μητρώο και έχω συνδέσει τον κύριο πίνακα με τους υπόλοιπους. Το μητρώο είναι και προτεύων κλειδί σε όλους. Έχω ενεργοποιήσει ακεραιότητα εγγραφών ενημέρωση και διαγραφή αλλά στον τύπο συνδέσμου τι να βάλω; Μήπως φταίει αυτό. Έχω σπάσει το κεφάλι μου να βρω το λάθος το ερώτημα που μου διορθώσατε με τα λίγα που διάβασα από ένα βιβλίο είναι σωστό κάτι άλλο κάνω λάθος. Σας ευχαριστώ πάρα πολύ για το χρόνο σας και συγνώμη που σας ζάλισα
_tasos Δημοσ. 26 Σεπτεμβρίου 2008 Δημοσ. 26 Σεπτεμβρίου 2008 Στην αρχή λες ότι θέλεις δεδομένα από τέσσερις πίνακες, σωστά; Πρέπει λοιπόν να κάνεις join με όλους. Πχ > FROM DATA INNER JOIN ΕΚΠΑΙΔΕΥΣΕΙΣ ON DATA.ΜΗΤΡΩΟ = ΕΚΠΑΙΔΕΥΣΕΙΣ.ΜΗΤΡΩΟ INNER JOIN ΙΚΑΝΟΤΗΤΕΣ ON DATA.ΜΗΤΡΩΟ = ΙΚΑΝΟΤΗΤΕΣ.ΜΗΤΡΩΟ INNER JOIN ΟΙΚΟΓΕΝΕΙΑ ON DATA.ΜΗΤΡΩΟ = ΟΙΚΟΓΕΝΕΙΑ.ΜΗΤΡΩΟ
jamespr Δημοσ. 26 Σεπτεμβρίου 2008 Μέλος Δημοσ. 26 Σεπτεμβρίου 2008 Aυτό που έχω φτιάξει είναι το παρακάτω, αλλά δεν μπορώ να βρω το λάθος. SELECT [1DATA].*, [1IΚΑΝΟΤΗΤΕΣ].*, [1ΕΚΠΑΙΔΕΥΣΕΙΣ].*, [1ΟΙΚΟΓΕΝΕΙΑ].* FROM ((1DATA INNER JOIN 1ΟΙΚΟΓΕΝΕΙΑ ON [1DATA].ΜΗΤΡΩΟ= [1ΟΙΚΟΓΕΝΕΙΑ].ΜΗΤΡΩΟ) INNER JOIN 1IΚΑΝΟΤΗΤΕΣ ON [1DATA].ΜΗΤΡΩΟ= [1IΚΑΝΟΤΗΤΕΣ].ΜΗΤΡΩΟ) INNER JOIN 1ΕΚΠΑΙΔΕΥΣΕΙΣ ON [1DATA].ΜΗΤΡΩΟ= [1ΕΚΠΑΙΔΕΥΣΕΙΣ].ΜΗΤΡΩΟ; Μήπως είναι ότι το μητρώο είναι κλειδί σε όλους τους πίνακες; Ή να φταίνε ή ένωση των σχέσεων; Τέλος σε κάθε έξοδο έχω βάλει να κάνει συμπύκνωση και επιδιόρθωση. Έχω σκεφτεί τα πάντα αλλα πάλι δε δουλευει. Σας ευχαριστώ πάρα πολύ που απαντήσατε τόσο σύντομα.
_tasos Δημοσ. 29 Σεπτεμβρίου 2008 Δημοσ. 29 Σεπτεμβρίου 2008 Κοίταξε λίγο στη σελίδα w3scools όπου εξηγεί πολλά πράγματα, μέσα σε αυτά και την SQL. Το ωραίο είναι πως έχει απλά παραδείγματα για το πως δουλεύει ο κάθε τύπος join. Ίσως εκεί βρεις κάτι που να ταιριάζει σε αυτό που θέλεις
jamespr Δημοσ. 29 Σεπτεμβρίου 2008 Μέλος Δημοσ. 29 Σεπτεμβρίου 2008 Σε ευχαριστώ πάρα πολύ _tasos για όλα θα δοκιμάσω και όταν τα καταφέρω θα σου πω να είσαι καλά και πάλι ευχαριστώ
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.