Ver Mensaje Individual
  #2 (permalink)  
Antiguo 20/07/2013, 09:50
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Obtener registros que tengan 2 relaciones en la tabla relacional

Código MySQL:
Ver original
  1. SELECT N.id, N.titulo, N.contenido
  2. FROM NOTICIAS N INNER JOIN NOTICIAS_X_CATEGORIAS ON N.id = NC.idNoticia

Es algo que puedes encontrar en cualquier manual básico de SQL, sea de MySQL u otro DBMS cualquiera. La cláusula HAVING es un estándar, y el método es mas o menos universal.

Te agrego dos consejos, que se han repetido muchas veces en los foros de BBDD:
1) No uses nombres como "id", para los campos ed identificación, ponle un prefijo o sufijo que haga mucho más simple escribir las consultas, y facilita alas optimizaciones, evitando conflictos de campos ambiguos.
2) Nunca uses el WHERE para realizar la relación de los campos del JOIN. Usa el ON en el FROM. Es mucho más eficiente, menos proclive a generar errores de interpretación y por sobre todo, es optimizable por el parser, mientras que el WHERE no.
MySQL espera que en un INNER JOIN la relación se declare en el FROM, no en el WHERE.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)