Задание:
Показать фамилию студентов, которые имеют одинаковое количество оценок 5.
Я сделал представление, в котором находится количество оценок 5 у студентов
Create view count10(kod_st, kol, kod)
AS
SELECT uspevaemost.Kod_student, COUNT(uspevaemost.ozenka),1
FROM uspevaemost
WHERE ozenka = 5
GROUP BY Kod_student
Сделал запрос, где тоже считаю количество:
SELECT students.First_name, count10.kol, COUNT(uspevaemost.ozenka) AS c
FROM students, count10,uspevaemost
WHERE (students.Kod_student = count10.kod_st) AND
(students.Kod_student = uspevaemost.Kod_student) AND (ozenka=5)
GROUP BY students.First_name
HAVING (c=kol)
Как мне исключить одинаковое значение здесь (students.Kod_student = uspevaemost.Kod_student) ? Подскажите пожалуйста или направьте в нужную сторону.
1. получаем запрос S1 типа Иванов - 10 (кол-во пятерок) Петров - 5 2. Связываем два запроса S1 между собой Select S1.*, S2.FIO AS FIO2 FROM S1 LEFT JOIN S2 WHERE S1.KVO = S2.KVO 3. Из полученного в 2. результата выбираем DISTINCT FIO Select DISTINCT FIO FROM S3
Чё-то запутал. Зачем дважды делать одно и тоже? Как должны данные выдаваться с одинаковыми студентами? Все студенты с константным значением или в одной строке два студента с совпадающим значением?