Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запрос странно себя ведет / 13 сообщений из 13, страница 1 из 1
16.04.2004, 16:47
    #32484720
Vsevolod V
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос странно себя ведет
Код: plaintext
1.
SELECT distinct Calc.*
FROM Bill_charge RIGHT JOIN Calc ON Bill_charge.OperID_2 = Calc.OperID

Этот запрос возвращает 1100 записей

Код: plaintext
1.
2.
SELECT distinct Calc.*
FROM Bill_charge RIGHT JOIN Calc ON Bill_charge.OperID_2 = Calc.OperID
where Bill_charge.OperID_2 = Calc.OperID

А этот 836.
Почему так получается?
...
Рейтинг: 0 / 0
16.04.2004, 16:52
    #32484737
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос странно себя ведет
Потому-что в первом запросе нет where, а во втором есть :)
...
Рейтинг: 0 / 0
16.04.2004, 16:53
    #32484739
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос странно себя ведет
А посмотри на какую-нибудь запись из тех, которые не вернулись.
...
Рейтинг: 0 / 0
16.04.2004, 16:53
    #32484740
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос странно себя ведет
Вот если бы ты делал INNER JOIN, то было бы странно - а так все ястно
...
Рейтинг: 0 / 0
16.04.2004, 16:55
    #32484742
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос странно себя ведет
Код: plaintext
1.
2.
3.
SELECT distinct Calc.*
FROM Bill_charge RIGHT JOIN Calc ON Bill_charge.OperID_2 = Calc.OperID
where Bill_charge.OperID_2 Is Null


Сколько записей?

Сложи с теми 836

Сколько в сумме получилось?
...
Рейтинг: 0 / 0
16.04.2004, 16:56
    #32484745
Kelme
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос странно себя ведет
Замени RIGHT JOIN на INNER JOIN и всё будет одинаково ;)
...
Рейтинг: 0 / 0
16.04.2004, 16:59
    #32484755
Vsevolod V
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос странно себя ведет
paparome
А ты попробуй посмотреть не только на операторы...

Владимир Саныч
Только что этим и занимался :)
Интересное дело.
Первый запрос переделал так
Код: plaintext
1.
SELECT DISTINCT Calc.*, Bill_charge.OperID_2
FROM Bill_charge RIGHT JOIN Calc ON Bill_charge.OperID_2 = Calc.OperID;

записи, которые не отображаются во втором - это записи, у которых, НАПРИМЕР, calc.operid = 345 (это пример), а Bill_charge.OperID_2 = null (а это у всех соответствующих записей). При чем в таблице у этих записей Bill_charge.OperID_2 = 0
...
Рейтинг: 0 / 0
16.04.2004, 17:00
    #32484757
Vsevolod V
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос странно себя ведет
paparome
ну да NULL
Только вот в таблице это 0
...
Рейтинг: 0 / 0
16.04.2004, 17:02
    #32484764
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос странно себя ведет
2 VV

А что надо еще посмотреть?
Если кроме операторов нам ничего не дано?
У меня же нет твоих данных :)

------------------------
И еще Null не 0
Null даже не равно Null
...
Рейтинг: 0 / 0
16.04.2004, 17:03
    #32484766
Kelme
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос странно себя ведет
Ты выбираешь ВСЕ записи из Calc и только те записи из таблицы Bill_charge у которых OperID_2 равен OperID из таблицы Calc.
И поэтому у тебя Bill_charge.OperID_2 = null в некоторых записях, так как нет соответствующего значения Calc.OperID
...
Рейтинг: 0 / 0
16.04.2004, 17:08
    #32484776
Vsevolod V
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос странно себя ведет
Все! Сообразил :)
Спасибо
...
Рейтинг: 0 / 0
16.04.2004, 17:09
    #32484777
Vsevolod V
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос странно себя ведет
Пора кончать рабочий день
...
Рейтинг: 0 / 0
16.04.2004, 17:09
    #32484781
Kelme
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос странно себя ведет
Cемён Семёныч ;)
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запрос странно себя ведет / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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