|
Выборка с ограничениями
|
|||
---|---|---|---|
#18+
Помогите найти решение, перепробовал разные способы, ничего не работает. Условие, есть таблица, (см. пример), пример условный и оценок может быть больше, нужно сделать выборку так, чтобы результат выдал Фамилии только тех, у кого оценок "5" больше или равно 3 и нет ни одной оценки "2". Перепробовал разные запросы, ничего не получается. Пробовал комбинировать WHERE и HAVING. Есть ощущение, что что-то упускаю, но в виду отсутствия большого опыта не могу понять, что именно Единственное решение, которое сработало, но нужен один запрос, а не комбинация двух. Самая большая проблема в том, как целиком исключить из выборки тех, у кого "2". Так как тех, у кого 3 "5" вывести получается. P.s. Да, я понимаю что таблица не нормализирована. За ранее спасибо Код: plsql 1. 2. 3. 4.
Фио ОценкаПетров 5Петров 5Петров 5Петров 4Петров 3Иванов 5Иванов 5 Иванов 5Иванов 2Иванов 4Сидоров 5Сидоров 5Сидоров 4Сидоров 4Сидоров 4 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2020, 15:50 |
|
Выборка с ограничениями
|
|||
---|---|---|---|
#18+
TheV1RuS, having count(case when ... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2020, 15:58 |
|
Выборка с ограничениями
|
|||
---|---|---|---|
#18+
env, case ведь возвращает одно из значений, согласно условию, а так как с case никогда дела не имел, смотрю на примеры, а в примерах везде магазин и если чего то нет в наличии, case возвращает не null, а заданную фразу, подскажи пожалуйста, как построить case таким образом, чтобы он отбрасывал не нужное, если я правильно тебя понял. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2020, 16:15 |
|
Выборка с ограничениями
|
|||
---|---|---|---|
#18+
Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2020, 16:17 |
|
Выборка с ограничениями
|
|||
---|---|---|---|
#18+
ASNexus, спасибо огромное, теперь на основе этого примера я разберусь и в подобных ситуациях буду знать, как поступить ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2020, 16:21 |
|
Выборка с ограничениями
|
|||
---|---|---|---|
#18+
ASNexus, я ведь правильно понимаю, что case своеобразный счетчик и проверяет условие when до тех пор, пока оно не будет соответствовать тому, что за скобкой? или же единица тут исполняет роль "True"? Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2020, 16:27 |
|
|
start [/forum/topic.php?fid=52&fpage=40&tid=1881016]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
74ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 172ms |
0 / 0 |