|
Вывести всех учеников, которые завалили ВСЕ экзамены, на который ПРИШЛИ
|
|||
---|---|---|---|
#18+
Добрый вечер, есть три таблицы Exam(name,lesson,item(оценка по экзамену, если не пришел на экзамен, то стоит null)); Lessons(lesson,grade(номер класса),abc(буква класса),edate(дата экзамена по этому предмету,если по этому предмету нет экзамена, то стоит null)); Students(name,grade,abc). То что указанно в скобках-это название атрибутов таблицы. Задача: Вывести всех учеников, которые завалили ВСЕ экзамены, на которые ПРИШЛИ(значит в edate не должно быть=null). К примеру, Аносов не пришел на два экзамена, но пришел на один и здал его на 2(система десятибальная), значит наш клиент, выводим его, а Тимохин тоже не пришел на два экзамена, но пришел на третий и здал его на 4 балла(1,2,3=это проваленный экзамен, 4,5,6,7,8,9,10=это сданный экзамен), значит он нам не подходит,т.к. он пришел на один экзамен и сдал его . Я приложу саму бызу данных. Я понял, только что нам нужно задействовать все три таблицы, чтобы узнать сколько всего экзаменов он должен здать, в каком классе и т.д., но как дальше я не понял. Я сделал так, но подпрограмма не может выдавать больше одного значения, а как переделать, не понимаю. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2016, 18:01 |
|
Вывести всех учеников, которые завалили ВСЕ экзамены, на который ПРИШЛИ
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2016, 18:07 |
|
Вывести всех учеников, которые завалили ВСЕ экзамены, на который ПРИШЛИ
|
|||
---|---|---|---|
#18+
Подзапрос тут лишний, просто убери его. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2016, 18:39 |
|
Вывести всех учеников, которые завалили ВСЕ экзамены, на который ПРИШЛИ
|
|||
---|---|---|---|
#18+
А что тогда в HAVINGе писать? Если я его уберу, то запрос будет неправильный, т.к. он мне выведет всех тех, кто НЕ СДАЛ, ХОТЯБЫ ОДИН экзамен, а мне нужно именно те экзаменны, которые ученик посетил и их ВСЕХ ЗАВАЛИЛ. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2016, 19:25 |
|
Вывести всех учеников, которые завалили ВСЕ экзамены, на который ПРИШЛИ
|
|||
---|---|---|---|
#18+
не экзаменны,а ученики,оговорочка ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2016, 19:27 |
|
Вывести всех учеников, которые завалили ВСЕ экзамены, на который ПРИШЛИ
|
|||
---|---|---|---|
#18+
_mak_sмне нужно именно те экзаменны, которые ученик посетил и их ВСЕХ ЗАВАЛИЛ. Вопрос на засыпку: может ученик сдать экзамен, который не посетил? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2016, 19:32 |
|
Вывести всех учеников, которые завалили ВСЕ экзамены, на который ПРИШЛИ
|
|||
---|---|---|---|
#18+
так в том-то и дело, что мы не должны рассматривать, те экзамены, которые ученик не посетил, Аносов прогулял два, да и фиг с ним, главное, что он пришел на один и не сдал его, а Болибрух, к примеру, пришел на все и не сдал только один, и по моему запросу Болибруха выводит, а не должно, т.к. он завалил только ОДИН экзамен, а пришел-то ведь на три. Я поэтому не понимаю, как это сделать, если можете, то , будьте любезны, напишите код. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2016, 19:42 |
|
Вывести всех учеников, которые завалили ВСЕ экзамены, на который ПРИШЛИ
|
|||
---|---|---|---|
#18+
_mak_sтак в том-то и дело, что мы не должны рассматривать, те экзамены, которые ученик не посетил Почему? Ты в самом деле не в состоянии переформулировать задачу как "вывести всех учеников, которые не сдали ни одного экзамена на который пришли"?.. Тебе не очевидно, что у таких учеников максимальная оценка будет меньше четвёрки?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2016, 19:51 |
|
Вывести всех учеников, которые завалили ВСЕ экзамены, на который ПРИШЛИ
|
|||
---|---|---|---|
#18+
Короче, я убрал, как Вы и сказали подзапрос, и она работает некоректно, т.к. мне выводит учеников, которые пришли на 3 экзамена и при этом не сдали 1 или 2 экзамена, а для того чтобы появится в списке, по условию задачи, количество незданных экзаменов должно быть равно количеству экзаменов, на которые ученик изволил явиться, как это сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2016, 20:02 |
|
Вывести всех учеников, которые завалили ВСЕ экзамены, на который ПРИШЛИ
|
|||
---|---|---|---|
#18+
_mak_sкак это сделать? Какое слово из "максимальная оценка будет меньше четвёрки" ты не смог прочитать?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2016, 21:09 |
|
Вывести всех учеников, которые завалили ВСЕ экзамены, на который ПРИШЛИ
|
|||
---|---|---|---|
#18+
_mak_s, Код: plsql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2016, 21:28 |
|
Вывести всех учеников, которые завалили ВСЕ экзамены, на который ПРИШЛИ
|
|||
---|---|---|---|
#18+
Короче, я глупый, напишите фрагмент кода, будьте любезны, я вообще не понимаю, что максимальный, и что дальше?? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2016, 21:29 |
|
Вывести всех учеников, которые завалили ВСЕ экзамены, на который ПРИШЛИ
|
|||
---|---|---|---|
#18+
спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2016, 21:30 |
|
Вывести всех учеников, которые завалили ВСЕ экзамены, на который ПРИШЛИ
|
|||
---|---|---|---|
#18+
_mak_sВывести всех учеников, которые завалили ВСЕ экзамены, на которые ПРИШЛИ(значит в edate не должно быть=null) Пришёл на НОЛЬ экзаменов и все НОЛb экзаменoв завалил - это какой случай? Нет столбца edate в таблице Exam _mak_sЯ понял, только что нам нужно задействовать все три таблицы, чтобы узнать сколько всего экзаменов он должен здать, в каком классе и т.д., но как дальше я не понял. а какая нам разница, сколько он ДОЛЖЕН сдать ? а какая нам разница, сколько в каком он классе? а какая нам разница "и т.д." и что этo такое вообще? Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2016, 18:35 |
|
|
start [/forum/topic.php?fid=40&msg=39223446&tid=1562200]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
49ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 166ms |
0 / 0 |