Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Логическая ошибка в запросе связана с id? / 3 сообщений из 3, страница 1 из 1
13.10.2016, 01:20
    #39325781
Edmon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логическая ошибка в запросе связана с id?
SELECT * FROM players;
+----+--------------+
| id | name |
+----+--------------+
| 1 | Иванов И. |
| 2 | Иванова А. |
| 3 | Сидорова А. |
| 4 | Петров П. |
| 5 | Кузнецова С. |
+----+--------------+

SELECT * FROM games;
+----+----------------+-----------+
| id | event |id_winner |
+----+----------------+-----------+
| 1 | Бег 1км | 2 |
| 2 | Плавание 100м | 3 |
| 3 | Велозабег | 2 |
| 4 | Шахматы | NULL |
+----+----------------+-----------+

Итак есть две таблицы, и следующий запрос:
SELECT * FROM players WHERE id NOT IN (SELECT id_winner FROM games)

Как я понимаю данный запрос должен выводить всех спортсменов из первой таблицы, которых нету во второй. И логическая ошибка связана с некорректным связыванием этих двух таблиц с помощью графы id?
...
Рейтинг: 0 / 0
13.10.2016, 01:55
    #39325794
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логическая ошибка в запросе связана с id?
проблема связана с тем, что в обычной трехзначной логике оператор not in (множество) не может вернуть "истина", если в множестве присутствует хотя бы один NULL.
Попробуйте так:
Код: plsql
1.
2.
3.
4.
SELECT * FROM players 
WHERE id NOT IN (SELECT id_winner FROM games
where id_winner is not null
)
...
Рейтинг: 0 / 0
13.10.2016, 14:08
    #39326282
Edmon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логическая ошибка в запросе связана с id?
А как осуществляется связь между таблицами? Через поле id и id_winner?
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Логическая ошибка в запросе связана с id? / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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