746.294 temas | 5.026.124 mensajes | seremos forros, pero somos una bocha
Me Gusta1Me Gusta
  • 1 Mensaje de estratovariu

Viejo ZoN[e] dijo: 20.07.13
Hola amigasos, me surgio este problema y no logro que funciones, tengo estas tablas:

TABLA NOTICIAS
id
titulo
contenido

TABLA CATEGORIAS
id
nombre

TABLA NOTICIAS_X_CATEGORIAS
idNoticia
idCategoria

Ovbiamente, una noticia puede estar en mas de una categoria.
Cuando necesito, obtener una noticia de X categoria, con un INNER JOIN, hago la consulta asi:

Código:
WHERE noticias_x_categorias.idCategoria = X
Lo que necesito ahora, es obtener una noticia, que esta en 2 categorias, intente esto pero no me devuelve nada:

Código:
WHERE noticias_x_categorias.idCategoria = X AND noticias_x_categorias.idCategoria = Y
Gracias por leer!

5 Comentarios | Registrate y participá

Viejo Negrito. dijo: 20.07.13
Teóricamente te la tendría que traer, en el caso que exista una noticia con mas de una categoría.

Pone la query entera
Viejo ZoN[e] dijo: 20.07.13
Asi es la query completa:

Código:
"SELECT 
                            contenidos.*
                        FROM 
                            contenidos INNER JOIN contenido_x_categorias 
                            ON contenido_x_categorias.idContenido = contenidos.id
                        WHERE contenido_x_categorias.idCategoria = 1 AND contenidos.id = 2
                        ORDER BY contenidos.fecha DESC";
Viejo Negrito. dijo: 20.07.13
WHERE contenido_x_categorias.idCategoria = 1
AND contenidos.id = 2

Perdon pero estoy medio dormido jaja

¿Lo que esta marcado en rojo de donde lo sacas?

Y otra cosa tu tabla se llama NOTICIAS pero queres recuperar registros desde la tabla CONTENIDOS
Así no vas a levantar nunca ninguna noticia


¿Esto no te sirve?:
(la sintaxis esta en SQLServer, pero se entiende :P)


Código:

SELECT n.titulo, 
       n.contenido 

FROM NOTICIAS n 

     INNER JOIN NOTICIAS_X_CATEGORIA nxc 

     ON n.id_noticia = nxc.id_noticia

WHERE nxc.id_categoria IN (SELECT id_categoria FROM CATEGORIAS)

Editado por Negrito.: 20.07.13 a las 16:14
Viejo arielj dijo: 25.07.13
si ponés "OR" en lugar de "AND"? el AND te va a dar siempre false si comparás un mismo valor con dos números distintos :P
Viejo estratovariu dijo: 02.09.14
En la tabla noticias tendría que haber un campo idCategoria, para que cuando des de alta tu noticia, indique la categoría a la que pertenece, en pocas palabras esta mal normalizada tus tablas.

www.elprogramador.com.mx

saludos
A PINOS le gusta esto.

Herramientas
Iniciar Sesion

Recordarme

Top de Usuarios