Hola,
estoy intentando hacer una consulta pero me saca mas datos de los deseados...
Os digo las tablas que entran en juego y relaciones y luego lo que quiero conseguir con la consulta.
Lo que esta en negrita y subrayado son las CP.
En rojo las claves foraneas
//Tabla1 donde estan las personas.
Tabla1: Personas(idJ,nombre,apellido1,pais,comunidad,club)
//Tabla 2, esta el identificador de un campeonato, el identificador de una persona, su categoria y su ranking. Es decir, una persona, participa en un campeonato en una determinada categoria y con un ranking
Tabla2: Participa(idJ,idC,nombre,idCategoria,ranking)
//Tabla3, listado de las direntes categorias
Tabla3: Categorias(idCategoria,sexo,peso)
Lo que quiero es que la consulta me muestre:
-El id, el nombre, el apellido,la categoria,club,comunidad,pais y ranking de una persona que participante en un determinado campeonato, por ejemplo el campeonato con idC=5!
Para eso, hago lo siguiente:
select j.idJ, j.nombre, c.peso, j.apellido1, j.club, j.comunidad_autonoma, j.pais, p.ranking from judokas j, categorias c, participa p where (j.idJ, c.idCategoria) in (select p.idJ, p.idCategoria from participa p where p.idC='5');
Pues bien, si solo hay 1 persona en la base de datos que participe en ese campeonato me lo muestra unas 83 veces!!!( si las he contado, y son 82 o 83...)
Como seria la consulta correcta?
//SOLUCIONADO