Sounds like your 4.0.20 may be the buggy installation... let me see if I can explain.
Let's analyze your FROM clause and imagine there is no WHERE clause, for the moment: FROM student s INNER JOIN enrollment e ON e.tech_id = s.tech_id INNER JOIN submitted_assignment sa ON sa.tech_id = s.tech_id RIGHT JOIN assignment a ON a.a_id = sa.a_id The tables student, enrollment, and submitted_assignment are all INNER JOINed to each other. You won't get any records back from those tables UNLESS they satisfy the ON statements that match records between them respectively. That batch of records is RIGHT JOINed to assignment. That means that all of the records from assignment are returned and the other 3 tables just became "optional" data. Their data will be added to the internal "working table" only if they meet the ON condition of the RIGHT JOIN. Here is a logically equivalent way of reformatting your original FROM clause FROM assignment a LEFT JOIN submitted_assignment sa ON a.a_id = sa.a_id INNER JOIN student s on sa.tech_id = s.tech_id INNER JOIN enrollment e on e.tech_ID = sa.tech_ID With it arranged this way, can you see why you should get only those students that completed their assignments? Changing your original query to use a LEFT JOIN in place of the RIGHT JOIN will probably solve your problem. Shawn Green Database Administrator Unimin Corporation - Spruce Pine Josh Trutwin <[EMAIL PROTECTED]> wrote on 09/17/2004 04:14:57 PM: > Is there a known bug with outer joins in MySQL 5.0.1? > > I tried the following query on 5.0.1: > > SELECT s.tech_id, s.full_name, sa.points_awarded, sa.date_submitted > FROM student s > INNER JOIN enrollment e ON e.tech_id = s.tech_id > INNER JOIN submitted_assignment sa ON sa.tech_id = s.tech_id > RIGHT JOIN assignment a ON a.a_id = sa.a_id > WHERE a.a_id = '100' AND e.term_id = '3' > ORDER BY s.full_name; > > None of the outer results are present. At first I thought the query > was wrong, but if I run the same exact query using the same tables > (from a mysqldump) on a 4.0.20 server I get the expected results > including student's who have not yet submitted the assignment. > > Running on SuSE linux 5.0.1 compiled from source. > > Any more details I can provide? I have to imagine that something like > this has already been found. Is the 5.0.1 snapshot on the products > download page updated frequently? If so I guess I could try to > download and install again. > > Josh > > -- > MySQL General Mailing List > For list archives: http://lists.mysql.com/mysql > To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED] >