Consulta SQL con Exist...

25/06/2004 - 18:01 por Jorge Luis Vejerano | Informe spam
Si yo tengo esta consulta sql:


CREATE CURSOR foo (f1 I)
INSERT INTO foo VALUES (0)

CREATE CURSOR foo1 (f1 I)
INSERT INTO foo1 VALUES (1)


SELECT * FROM foo T1 WHERE EXISTS ;
(SELECT * from foo1 T2);

Por qué me devuelve como resultado un registro con valor 0?. Me parece
que no debe devolver nada.

Saludos!
 

Leer las respuestas

#1 Luis María Guayán
25/06/2004 - 20:51 | Informe spam
Te falta el WHERE en la subconsulta

SELECT * FROM foo T1 ;
WHERE EXISTS ;
(SELECT * from foo1 T2 ;
WHERE T1.F1 = T2.F1)

Si lo haces sin clausula WHERE, siempre se evaluará como .T. el EXISTS, ya
que siempre retornará registros de T2

Luis María Guayán
Tucumán, Argentina
________________________________
SysOp de www.PortalFox.com
Microsoft Visual FoxPro MVP
________________________________
La palabra imposible solo figura
en el diccionario de los tontos



"Jorge Luis Vejerano" escribió en el mensaje
news:ep$
Si yo tengo esta consulta sql:


CREATE CURSOR foo (f1 I)
INSERT INTO foo VALUES (0)

CREATE CURSOR foo1 (f1 I)
INSERT INTO foo1 VALUES (1)


SELECT * FROM foo T1 WHERE EXISTS ;
(SELECT * from foo1 T2);

Por qué me devuelve como resultado un registro con valor 0?. Me parece
que no debe devolver nada.

Saludos!

Preguntas similares