Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Sentencia SQL NOT IN (...)

Estas en el tema de Sentencia SQL NOT IN (...) en el foro de Mysql en Foros del Web. SELECT * FROM noticias WHERE idnoticia NOT IN (SELECT * FROM noticias_leidas) Esta consulta no me funciona... sabeis porque es?...
  #1 (permalink)  
Antiguo 13/04/2006, 06:46
Avatar de deccweb  
Fecha de Ingreso: febrero-2003
Ubicación: Mataro
Mensajes: 365
Antigüedad: 21 años, 2 meses
Puntos: 0
SELECT * FROM noticias WHERE idnoticia NOT IN (SELECT * FROM noticias_leidas)

Esta consulta no me funciona... sabeis porque es?
__________________
Calle17.net

edgargranados.es
  #2 (permalink)  
Antiguo 13/04/2006, 10:16
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Estás pretendiendo usar "sub-consultas" .. No indicas que motor de BBDD usas (Mysql?) ni que versión (es muy importante .. Mysql 5.x por ejemplo soporta Sub-consultas ..pero Mysql 4.1 no recuerdo .. e inferiores seguro que no).

Si explicas en el foro de Base de datos el objetivo de tu consulta (con la tabla(s) implicadas y sus relaciones) será más fácil que te orienten sobre la consulta SQL más adecuada.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 13/04/2006, 12:15
 
Fecha de Ingreso: mayo-2005
Mensajes: 148
Antigüedad: 18 años, 11 meses
Puntos: 0
Como dijo cluster (necesitas usar mysql 5.0), yo estoy en el mismo caso que vos deccweb y pues para utilizar una subquery (subconsulta) es apartir de mysql 5.0

Yo que vos.. buscaria otra manera la cual funcione tanto mysql 4.0 como 5.0..

:( (es lo que intento yo)
__________________
(8)Esta es la numero uno, que te sigue a todas partes,
siempre con sus estandartes,
y un grito de corazon, RACING CAMPEON
RACING CAMPEON, en el este y el oeste,
en el norte y en el sur, brillara blanca y celeste la academia RACING CLUB y la acade, y la acade... (8)
  #4 (permalink)  
Antiguo 13/04/2006, 14:19
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
Esta consulta no funciona ni en mysql 5, por que está mal hecha, no puedes comparar un campo con todos, debería ser así:

SELECT * FROM noticias WHERE idnoticia NOT IN (SELECT idnoticia FROM noticias_leidas)

Si tu version de mysql no soporta subconsultas puedes crear un arreglo sql y buscar en él los valores. Es decir, primero ejecutas la consulta:

SELECT idnoticia FROM noticias_leidas

Con los valores obtenidos crea un arreglo sql, que sea como esto, una simple cadena:

(1,2,3,4,7,9)

Y luego haces esto:

SELECT * FROM noticias WHERE idnoticia NOT IN (1,2,3,4,7,9)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 07:02.