Предпосылки: В MS Access 2010 создать следующие таблицы:MS Access: WHERE-EXISTS-статья не работает над представлениями?
CREATE TABLE ATBL(ID INT);
INSERT INTO ATBL(ID) VALUES (1);
INSERT INTO ATBL(ID) VALUES (2);
INSERT INTO ATBL(ID) VALUES (3);
CREATE TABLE BTBL(ID INT);
INSERT INTO BTBL(ID) VALUES (1);
INSERT INTO BTBL(ID) VALUES (2);
создать также мнение под названием BVIEW, который использует следующий ЗЕЬЕСТ:
SELECT A.ID FROM ATBL AS A WHERE A.ID = 1 OR A.ID = 2
Теперь BVIEW должны иметь такое же содержание, как BTBL. Тем не менее следующие два запроса будет возвращать разные результаты:
SELECT A.ID FROM ATBL AS A WHERE EXISTS (SELECT 1 FROM BTBL AS B WHERE B.ID=A.ID)
SELECT A.ID FROM ATBL AS A WHERE EXISTS (SELECT 1 FROM BVIEW AS B WHERE B.ID=A.ID)
Первый запрос возвращает две записи (1 и 2), а второй запрос возвращает все записи из ATBL. Что здесь не так? Я что-то упускаю?
FWIW Ваш код работает как ожидается на SQL Server. – onedaywhen