consulta con subquerys

Armando
20 de Julio del 2004
hola, por fa si alguien me ayuda estoy tratando de ejcutar una consulta como esta:

SELECT codigo
FROM opciones
WHERE opcion not int ( SELECT codigo
FROM usuario
WHERE codigo = 1
) ;

pero no me funciona, en vez de not in he utilizado <> ANY o <> ALL y tampoco funciona.

Incluso he cambiado la variable sql_mode a Ansi y tampoco funciona.

Muchas gracias

Raul
20 de Julio del 2004
Necesitar ver si tienes la version de MySQL 4.1 o 5 ya q son las unicas q soportan los subquieries.

gonzalo
20 de Julio del 2004
supon que tienes dos tablas, A y B.

la tabla A tiene un campo, codigo_b, que hace referencia a un registro de la tabla B.
quieres que aparezcan 'todos los registros de la tabla A que no esten en la tabla B'.

sin usar subselects:

select distinct A.*
from A
left join B on B.codigo_b = A.codigo_b
where B.codigo_b is null

o

select A.*
from A
left join B on B.codigo_b = A.codigo_b
where B.codigo_b is null
group by A.codigo_a

en ambos casos 'group by' y 'distinct' sirven para que no aparezcan repetidos los registros de la tabla A.