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

Problema left join

Estas en el tema de Problema left join en el foro de Mysql en Foros del Web. hola a todos, tengo un problema con un left join que me hace cosas raras. La query es: SELECT noticias.id_noticia, noticia, leido FROM noticias LEFT ...
  #1 (permalink)  
Antiguo 31/10/2005, 02:32
 
Fecha de Ingreso: mayo-2004
Mensajes: 57
Antigüedad: 19 años, 11 meses
Puntos: 0
Problema left join

hola a todos,
tengo un problema con un left join que me hace cosas raras. La query es:
SELECT noticias.id_noticia,
noticia,
leido
FROM noticias
LEFT JOIN sub_noticias ON noticias.id_noticia = sub_noticias.id_noticia AND sub_noticias leido = 'N'

En la tabla sub_noticias todos los registros tienen leido='S' por lo que solo deberian aparecer los registros de noticias que no existieran en sub_noticias, el problema es que salen todos los existentes, incluidos los que tienen el campo leido='S' (hace algo raro pues aparecen como null)

no se si me he explicado bien...

Gracias !!
  #2 (permalink)  
Antiguo 31/10/2005, 11:33
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 4 meses
Puntos: 11
no se si fue error al diguitarla pero te hace falta un Punto en "sub_noticias leido = 'N' "

Código:
SELECT noticias.id_noticia,
noticia,
leido
FROM noticias
LEFT JOIN sub_noticias ON noticias.id_noticia = sub_noticias.id_noticia AND sub_noticias.leido = 'N'
si aun asi no te funciona cambialo por INNER JOIN
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
  #3 (permalink)  
Antiguo 31/10/2005, 15:33
 
Fecha de Ingreso: mayo-2004
Mensajes: 57
Antigüedad: 19 años, 11 meses
Puntos: 0
Hola!!

gracias por tu respuesta... me ha sido super util ... he encontrado una solucion y me has dado la pista :)

adjunto la solucion por si le puede ser util a alguien

SELECT noticias.id_noticia, noticia
FROM noticias
WHERE id_noticia not in (SELECT noticias.id_noticia from noticias
JOIN sub_noticias ON noticias.id_noticia = sub_noticias.id_noticia)


Saludos
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:06.