powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запрос
11 сообщений из 11, страница 1 из 1
Запрос
    #39899201
zimkon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!
Первый запрос
Код: sql
1.
2.
UPDATE Таблица1 SET Таблица1.галка = False
WHERE номер not in (select номер from Таблица2);


Выдает, что будет обновлено 0 записей

второй запрос
Код: sql
1.
2.
3.
4.
UPDATE Таблица1 SET галка = false
WHERE номер in (SELECT Таблица1.номер
FROM Таблица1 LEFT JOIN Таблица2 ON Таблица1.номер = Таблица2.номер
WHERE (((Таблица2.номер) Is Null)));


Выдает, что будет обновлено 3 записи
Access 2010 32 bit, Windows 10

В Access 2003 всё работает нормально (и там , и там - будет обновлено 3 записи). Что это такое? Никто не сталкивался?
...
Рейтинг: 0 / 0
Запрос
    #39899206
zimkon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PS - Если менять Update на Select - Эффект тот же. Комп не в сети, обновления не ставятся.
...
Рейтинг: 0 / 0
Запрос
    #39899217
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zimkon,

в Таблица2 - есть номер is NULL ?
...
Рейтинг: 0 / 0
Запрос
    #39899239
zimkon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
court
zimkon,

в Таблица2 - есть номер is NULL ?

Вроде нет. А что это меняет?
...
Рейтинг: 0 / 0
Запрос
    #39899246
zimkon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zimkon
court
zimkon,

в Таблица2 - есть номер is NULL ?

Вроде нет. А что это меняет?

Ан, нет, наверное, всё же, есть. Понял. Спасибо!!!
...
Рейтинг: 0 / 0
Запрос
    #39899248
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zimkon
court
zimkon,

в Таблица2 - есть номер is NULL ?

Вроде нет. А что это меняет?
Даа, в принципе, уже ничего ...

Просто такой запрос
Код: vbnet
1.
select * from t where id not in (1,2,null)


Во всех СУБД возвращает "ничего" ВСЕГДА, вне зависимости от того, что есть в таблице за id
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
/* в MS SQL */
declare @t table (id int)
insert into @t values (1),(2),(3),(4)
select * from @t
select * from @t where id not in (1,2,null)
select * from @t where id not in (1,2)
-------------------------------------------

(затронуто строк: 4)
id
-----------
1
2
3
4

(затронуто строк: 4)

id
-----------

(затронуто строк: 0)

id
-----------
3
4

(затронуто строк: 2)


И только в Акцессе, он возвращает "что-то" :)

Вот я подумал, что может "пофиксили" это для ACE ...
Но затем проверил у себя на А2003 и А2016 - и там, и там запрос работает одинаково, и возвращает "что-то" :)
...
Рейтинг: 0 / 0
Запрос
    #39899259
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zimkon
Ан, нет, наверное, всё же, есть.


Есть, есть, еще как есть...
Да и запрос бы я (в акцессе) по другому делал, у меня правило - вложенные селекты это как последний патрон, когда по другому уже просто никак...
Код: sql
1.
2.
UPDATE Таблица1 SET Таблица1.галка = No
WHERE ((((nz(DLookUp("[номер]","Таблица2","[номер] = " & [номер]),0)))=0));


В примере все наглядно:
- в таблице1 10 номеров с галками,
- в таблице2 5 номеров
- если всем галкам прописать Null, то запрос не работает (Zimkon)
- если всем галкам прописать True, то работает (нет пропишет отсутствующим в таблице2)
...
Рейтинг: 0 / 0
Запрос
    #39899265
zimkon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vmag,
Спасибо! Я тоже не сторонник тормознутых запросов. Всё прекрасно это понимаю. Но тут базка маленькая. Делал рядом с пользователем запрос быстро. И наткнулся. Не понял. Переделал по другому, результата достиг. Но червь сомнения остался. Решил форум спросить, а данные то проверить не догадался.
...
Рейтинг: 0 / 0
Запрос
    #39899268
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zimkon
...
Но червь сомнения остался.
...


Шаи Хулуд?
...
Рейтинг: 0 / 0
Запрос
    #39899302
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zimkon
Но червь сомнения остался.


прикинь, я сам удивлен, что false/true может не лечь на null в чеке...
при конструировании всегда делаю на чек (и не только) значение по умолчанию, так потом проще работать с тем же dao - не нужно при добавлении шерстить все поля...
...
Рейтинг: 0 / 0
Запрос
    #39899303
zimkon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей Лалов
zimkon
...
Но червь сомнения остался.
...


Шаи Хулуд?

Эх, где те времена, когда беззаботно резался в дюну2...
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запрос
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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