Το πρόβλημά σου δεν είναι ούτε στο group ούτε στο distinct αλλά στο σύνολο της προσέγγισης στην δημιουργία του query σου.
Πρόβλημα
Όταν λες select * from a,b,c τότε ο server θα επιλέξει όλες τις εγγραφές από το a, όλες από το b και όλες από το c, θα κάνει όλους τους εφικτούς συνδυασμούς και θα σου επιστρέψει το γινόμενο των εγγραφών από αυτούς τους πίνακες.
Πχ. 5 εγγραφές από τον a, 2 από τον b και 3 από τον c => 30 εγγραφές.
Σε κάθε εγγραφή θα έχεις όλες τις στήλες από όλους τους πίνακες.
Παίρνεις 8 φορές το κάθε όνομα διότι έχεις περάσει 8 αεροσκάφη. Αν είχες περάσει 9 θα έπαιρνες 9 φορές το κάθε όνομα.
Λύση
Από όσο μπορώ να καταλάβω το παραπάνω δεν είναι αυτό που θες. Έχεις σχέσεις μεταξύ των πινάκων και θες να εξάγεις το συνδυαστικό τους αποτέλεσμα. Για να το πετύχεις αυτό πρέπει να χρησιμοποιήσεις τα joins. Δες εδώ.
Εσύ προφανώς θες κάτι τέτοιο.
SELECT employee.ename FROM (employee
INNER JOIN certified ON employee.eid = certified.eid)
INNER JOIN aircraft ON certified.aid = aircraft.aid
WHERE aircraft.aname='bell 206'