Всем привет! Два дня бьюсь над запросом выборки и вот решил на третий обратиться к профессионалам Задача такая: выбрать из трех таблиц данные. Таблица первая: pupils Поля: id int(10) auto_increment first_name varchar(50) middle_name varchar(50) last_name varchar(50) forms_id int(10) //id класса Таблица вторая: forms id int(10) auto_increment name varchar(255) Таблица третья: results id int(10) auto_increment pupils_id int(10) // id ученика themes_id int(10) //id темы date varchar(50) result varchar(150) Вкратце: В таблицу results помещаются результаты учеников по контрольным Таблица forms содержит классы (10-А, 11-Б и тд) Таблица pupils - данные об учениках Задача: написать запрос выборки из таблиц, содержащий: только те результаты из results, для которых тема themes_id="23" , ФИО учеников, а ученики учаться к примеру в классе с id="5" вот что я написал: [sql]select pupils.first_name, pupils.middle_name, pupils.last_name, results.result, results.date from results, pupils where results.pupils_id in (select id from pupils where forms_id="5") and results.pupils_id=pupils.id and results.themes_id="23" order by pupils.first_name;[/sql] Результат - выводит те значения, что надо, но многократно повторяющиеся. Подскажите что к чему
[sql]SELECT pupils.first_name, pupils.middle_name, pupils.last_name, results.result, results.date FROM pupils LEFT JOIN results ON results.pupils_id = pupils.id LEFT JOIN forms ON forums.id = pupils.forms_id WHERE forms.forms_id = 5 AND results.themes_id = 23 ORDER BY pupils.first_name;[/sql]