powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Запросы
16 сообщений из 16, страница 1 из 1
Запросы
    #38596792
лилия90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите составить запрос, если имеется например
Студент с полями
id_st,
firstname,
iname.
и оценки для него
id_eval,
id_stud,
evaluation
Оценок много, надо выбрать теx студентов, у кого оценки только 5ки, В конце нужна таблица с firstname
...
Рейтинг: 0 / 0
Запросы
    #38596821
not exists
...
Рейтинг: 0 / 0
Запросы
    #38596828
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый Э - Эхnot exists
то будут в т.ч. мёртвые студенты, не имеющие ни одной

а та - да. именно
Код: sql
1.
2.
3.
SELECT * FROM студенты WHERE
 not exists(SELECT 1 FROM оценки WHERE студенты.судент=оценки.студент
    AND оценки.оценка<>5)
...
Рейтинг: 0 / 0
Запросы
    #38596864
qwwqДобрый Э - Эхnot exists
то будут в т.ч. мёртвые студенты, не имеющие ни одной
тогда рисуй запрос с INNER JOIN + group by + Having...
Уж точно попадут только отличники. :)
...
Рейтинг: 0 / 0
Запросы
    #38596868
qwwq,

или к своему с NOT EXISTS добавь ещё и EXISTS-подзапрос, на проверку наличия "пятерки"
...
Рейтинг: 0 / 0
Запросы
    #38596873
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый Э - Эхqwwq,

или к своему с NOT EXISTS добавь ещё и EXISTS-подзапрос, на проверку наличия "пятерки"дык я ж вроде не спрашивал ? не ?
вы где-то увидели обратное?


я просто указал, что предложенное вами решение решает немного другую задачу. хотя и смежную.
...
Рейтинг: 0 / 0
Запросы
    #38597279
qwwq,

а я и не давал точных рекомендаций, а лишь направление поиска с оставленным пространством для буйства авторской фантазии...
...
Рейтинг: 0 / 0
Запросы
    #38597561
victor_kr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SELECT студенты.id_st, студенты.firstname
FROM студенты
INNER JOIN оценки ON студенты.id_st = оценки.id_stud
WHERE оценки.evaluation = 5
GROUP BY студенты.id_st, студенты.firstname
...
Рейтинг: 0 / 0
Запросы
    #38597601
biwed.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
victor_krSELECT студенты.id_st, студенты.firstname
FROM студенты
INNER JOIN оценки ON студенты.id_st = оценки.id_stud
WHERE оценки.evaluation = 5
GROUP BY студенты.id_st, студенты.firstname
Ответ не правильный. У этих студентов могут быть четверки, тройки и тд. Без подзапросов не вижу решения.
qwwq
Код: sql
1.
2.
3.
SELECT * FROM студенты WHERE
 not exists(SELECT 1 FROM оценки WHERE студенты.судент=оценки.студент
    AND оценки.оценка<>5)


У qwwq ответ был ближе, хотя учитывает студентов, которые не имеют оценок вообще. Как уже писали нужна еще одна проверка в where на условие присутствия ключей студентов в списке оценок.
...
Рейтинг: 0 / 0
Запросы
    #38597604
biwed.ruБез подзапросов не вижу решения. странно, что не видишь... Тем более, что решение было озвучено: group by + having (без where). Другое дело что такое решение будет не самым оптимальным....
...
Рейтинг: 0 / 0
Запросы
    #38597674
biwed.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый Э - Эхbiwed.ruБез подзапросов не вижу решения. странно, что не видишь... Тем более, что решение было озвучено: group by + having (без where). Другое дело что такое решение будет не самым оптимальным....
Ну не совсем с тобой соглашусь, так как по условию задачи нужно вывести: "В конце нужна таблица с firstname" - это одно поле. Поэтому без подзапроса и не вижу. :)
При большем количестве полей можно и с "INNER JOIN + group by + Having."
...
Рейтинг: 0 / 0
Запросы
    #38602401
лилия90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
всем спасибо за помощь
...
Рейтинг: 0 / 0
Запросы
    #38605980
лилия90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
biwed.ru, у меня еще один вопрос, если конечно вам не сложно рассмотреть, а как можно вывести ударников, не включая отличников
...
Рейтинг: 0 / 0
Запросы
    #38606042
biwed.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день,
лилия90
лилия90biwed.ru, у меня еще один вопрос, если конечно вам не сложно рассмотреть, а как можно вывести ударников, не включая отличников
Не совсем понятно определение "Ударников". Сформулируйте задачу корректнее, а то не понятно кто они такие.

С уважением,
biwed.ru
...
Рейтинг: 0 / 0
Запросы
    #38606051
Ы ?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
4.
5.
SELECT * FROM студенты WHERE
exists(SELECT 1 FROM оценки WHERE студенты.судент=оценки.студент
    AND оценки.оценка=4) -- т.е. не отличник
AND  not exists(SELECT 1 FROM оценки WHERE студенты.судент=оценки.студент
    AND оценки.оценка IN (1,2,3) /*NOT IN (4,5)*/ ) -- т.е. не 123-ник
...
Рейтинг: 0 / 0
Запросы
    #38606620
лилия90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ы ?Спасибо большое
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Запросы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]