Requisitos: En MS Access 2010 crear las siguientes tablas:MS Access: ¿cláusula WHERE-EXISTS-no funciona en las vistas?
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);
también se crea una vista denominada bVIEW que utiliza la siguiente instrucción SELECT:
SELECT A.ID FROM ATBL AS A WHERE A.ID = 1 OR A.ID = 2
Ahora bVIEW deberían tener el mismo contenido que BTBL. Sin embargo las dos consultas siguientes volverán resultados diferentes:
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)
La primera consulta devuelve dos registros (1 y 2), pero la segunda consulta devuelve todos los registros de ATBL. ¿Qué pasa aquí? ¿Me estoy perdiendo de algo?
FWIW su código funciona como se esperaba en SQL Server. – onedaywhen