Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / sql-запрос / 25 сообщений из 25, страница 1 из 1
20.05.2019, 15:38
    #39815386
LittleLady
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql-запрос
Дана таблица учеников:
Create table P (
p_id int not null, -id ученика
s_id int not null, -id предмета
p_m int null - оценка
);

Insert into P('p_id', 's_id', 'p_m') Values ('1','1','2')
Insert into P('p_id', 's_id', 'p_m') Values ('1','2','3')
Insert into P('p_id', 's_id', 'p_m') Values ('2','1','3')
Insert into P('p_id', 's_id', 'p_m') Values ('2','2','3')
Insert into P('p_id', 's_id', 'p_m') Values ('3','1','4')
Insert into P('p_id', 's_id', 'p_m') Values ('3','2','5')

Необходимо вывести учеников, у которых оценка по каждому из предметов больше 3.

Собственно проблема именно сформулировать запрос так, чтобы выбирало только тех учеников, у которых по каждому из заданных предметов оценка больше 3 баллов...
...
Рейтинг: 0 / 0
20.05.2019, 15:40
    #39815387
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql-запрос
"оценка по каждому из предметов больше 3" = "отсутствуют оценки меньше или равно 3 хотя бы по одному предмету"
...
Рейтинг: 0 / 0
20.05.2019, 15:51
    #39815389
LittleLady
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql-запрос
Гавриленко Сергей Алексеевич,
Я понимаю. У меня проблема на sql это усечение прописать.
...
Рейтинг: 0 / 0
20.05.2019, 16:15
    #39815393
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql-запрос
LittleLadyГавриленко Сергей Алексеевич,
Я понимаю. У меня проблема на sql это усечение прописать.NOT EXISTS()
...
Рейтинг: 0 / 0
20.05.2019, 16:31
    #39815397
LittleLady
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql-запрос
iap, Спасибо за подсказку про not exist, правда я додумала только до такого: NOT EXIST(p_m>3) Как усечь так, чтобы оно выводило только тех учеников,у которых по всем предметом оценки выше 3, по-прежнему, не знаю :(
...
Рейтинг: 0 / 0
20.05.2019, 16:36
    #39815400
LittleLady
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql-запрос
LittleLady, точнее NOT EXIST(p_m<3)
...
Рейтинг: 0 / 0
20.05.2019, 16:40
    #39815403
Посетитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql-запрос
LittleLadyLittleLady, точнее NOT EXIST(p_m<3)

для начала представьте, как бы вы отобрали строки, которые не соответствуют вашей задаче.
у вас должен получиться запрос
вот его и поместите в not exists, предварительно связав ученика из основного запроса с учеником в подзапросе.
...
Рейтинг: 0 / 0
20.05.2019, 16:43
    #39815404
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql-запрос
LittleLadyLittleLady, точнее NOT EXIST(p_m<3)Раз уж вы прогуляли все лекции и практические занятия, то откройте хотя бы хелп и прочитайте синтаксис и примеры exists
...
Рейтинг: 0 / 0
20.05.2019, 17:03
    #39815413
LittleLady
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql-запрос
Посетитель,
Select p_id,
From P
Where NOT EXIST(Select * From P Where p_m<3)
Так?
...
Рейтинг: 0 / 0
20.05.2019, 17:06
    #39815414
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql-запрос
LittleLadyПосетитель,
Select p_id,
From P
Where NOT EXIST(Select * From P Where p_m<3)
Так?
этот не сдаст...
...
Рейтинг: 0 / 0
20.05.2019, 17:07
    #39815415
LittleLady
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql-запрос
Гавриленко Сергей Алексеевич,
А кто Вам сказал, что это по учёбе и с чего Вы взяли, что мне так глубоко давали sql в университете?
...
Рейтинг: 0 / 0
20.05.2019, 17:07
    #39815416
LittleLady
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql-запрос
TaPaK, Помогите.Пожалуйста.С формулировкой. Запроса.
...
Рейтинг: 0 / 0
20.05.2019, 17:10
    #39815418
Посетитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql-запрос
LittleLadyПосетитель,
Select p_id,
From P
Where NOT EXIST(Select * From P Where p_m<=3)
Так?
и не забудьте про
Посетительпредварительно связав ученика из основного запроса с учеником в подзапросе.
...
Рейтинг: 0 / 0
20.05.2019, 17:11
    #39815419
Посетитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql-запрос
TaPaKLittleLadyПосетитель,
Select p_id,
From P
Where NOT EXIST(Select * From P Where p_m<3)
Так?
этот не сдаст...

ну может на троечку натянем?
...
Рейтинг: 0 / 0
20.05.2019, 17:19
    #39815420
LittleLady
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql-запрос
Посетитель,
Select p_id,
From P
Where NOT EXIST(Select * From P Where p_m<=3 AND p_id=p_id)

Догадываюсь, что p_id=p_id неправильно, но как правильно-не знаю...Перечитала доки майкрософта, но там такого толком нету, либо я не понимаю как должна выглядеть связка.... :(
...
Рейтинг: 0 / 0
20.05.2019, 17:25
    #39815423
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql-запрос
alias используйте
...
Рейтинг: 0 / 0
20.05.2019, 17:30
    #39815430
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql-запрос
LittleLadyПосетитель,
Select p_id,
From P
Where NOT EXIST(Select * From P Where p_m<=3 AND p_id=p_id)

Догадываюсь, что p_id=p_id неправильно, но как правильно-не знаю...Перечитала доки майкрософта, но там такого толком нету, либо я не понимаю как должна выглядеть связка.... :(Мы заботимся о слепых:
...
Рейтинг: 0 / 0
20.05.2019, 17:36
    #39815433
LittleLady
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql-запрос
Konst_One,
Select p_id AS pup_id
From P
Where NOT EXIST(Select pup_id From P Where p_m<=3)


Так?
...
Рейтинг: 0 / 0
20.05.2019, 17:50
    #39815440
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql-запрос
вам даже красмным пометили выше, чтобы вы поняли
...
Рейтинг: 0 / 0
20.05.2019, 17:57
    #39815442
LittleLady
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql-запрос
Konst_One, Там в запросе 2 таблицы, а не одна.
...
Рейтинг: 0 / 0
20.05.2019, 17:59
    #39815445
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql-запрос
LittleLadyKonst_One, Там в запросе 2 таблицы, а не одна.И что это меняет?
...
Рейтинг: 0 / 0
20.05.2019, 23:01
    #39815544
smj
smj
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql-запрос
Exists не нужен.

Код: sql
1.
2.
3.
4.
select p_id
from p
group by p_id
having min(p_m)>3
...
Рейтинг: 0 / 0
21.05.2019, 07:48
    #39815606
982183
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql-запрос
Это ответ на вопрос "Все ученики, у которых есть оценки больше 3"
...
Рейтинг: 0 / 0
21.05.2019, 07:49
    #39815607
982183
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql-запрос
Надо как минимум сначала узнать количество предметов.
...
Рейтинг: 0 / 0
21.05.2019, 09:26
    #39815637
iap
iap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sql-запрос
982183Это ответ на вопрос "Все ученики, у которых есть оценки больше 3""нет оценок не больше 3".
Что касается предметов, то вы считаете, что есть такие, по которым оценок нет вообще?
Такого к концу учебного периоде не бывает.
Хотя, в общем случае вы правы.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / sql-запрос / 25 сообщений из 25, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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