Προς το περιεχόμενο

mysql απορία σχετικά με select


Apanepai

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα,

 

δουλεύω εδώ μια ασκησούλα για τη σχολή και έχω το εξής ερώτημα.

 

Πως γίνεται με χρήση της select να εμφανίσω στοιχεία από δύο διαφορετικά tables με βάση ένα κριτήριο?

 

Ποιο συγκεκριμένα. Έχω ένα table με όνομα κατηγορία το οποίο περιέχει ένα ξεχωριστό id που προσδιορίζει την κατηγορία και κάποια άλλα στοιχεία. Επίσης έχω το table belong το οποίο περιέχει δύο ξένα κλειδιά το id του table κατηγορία και το isbn βιβλίων τα οποία ανήκουν στην ανάλογη κατηγορία.

 

bjgj.jpg

 

Αυτό που θέλω να εμφανίσω είναι το όνομα της κατηγορίας και το πόσα βιβλία ανήκουν σε αυτήν.

 

Καμία ιδέα?

 

Δεν μπορώ να βρω πως μπορώ να δουλέψω με στοιχεία τα οποία ανήκουν σε διαφορετικά tables. Δηλαδή πχ έχω ένα table A και ένα table Β πως μπορώ να εμφανίσω τα στοιχεία του Α και του Β ταυτόχρονα.

 

 

Ευχαριστώ

Δημοσ.

Με την Join. Κάνεις μια ένωση των πινάκων σε μια κοινή τους (σε σχέση με το περιεχόμενο τους) στήλη και προβάλεις τα αποτελέσματα. Περισσότερα εδώ.

Αν δεν έχουν κοινή στηλή πάς με Union. Περισσότερα εδώ.

 

Πάντως ένα γκουγκλισμα είναι.... Δοκίμασε το :-)

Δημοσ.

Δέν ξέρω άν σε βοηθάει αυτό

 

>Select a.Τίτλος, c.isbn, c.ΑριθμόςΑντιτύπων 
from ΑΝΗΚΕΙ as b 
inner join ΚΑΤΗΓΟΡΙΑ as a on a.ID = b.ID
inner join ΒΙΒΛΙΟ as c on c.ISBN = b.ISBN 
order by a.ID

 

άν φυσικά εννοείς οτι ο αριθμός αντιτύπων αντιστοιχεί στον αριθμό των βιβλίων που ανήκει στην κατηγορία.

Δημοσ.

Προφανώς είναι συνένωση, όπως ειπώθηκε.

 

Οπότε, κάπως έτσι θα συντάξεις την επερώτησή σου

 

>SELECT k.τιτλος, count(*) FROM ΒΙΒΛΙΟ b, ΚΑΤΗΓΟΡΙΑ k, ΑΝΗΚΕΙ a 
WHERE b.isbn = a.isbn AND a.id = k.id GROUP BY k.id;

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...