Bases de Datos - Consulta de relación de muchos a muchos

 
Vista:
sin imagen de perfil
Val: 7
Ha aumentado 1 puesto en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

Consulta de relación de muchos a muchos

Publicado por Dario Sebastian (4 intervenciones) el 20/05/2020 05:12:35
Hola, buenas a todos, tengo un problemita, tengo una tabla de Pokemones relacionada de N:N con la tabla de Tipos, generando una tabla llamada pokemonTipo que almacena el ID del pokemon y el ID del tipo, lo que me gustaria hacer es una consulta en la que me muestre todas las columnas de pokemon y aparte dos columnas indicando el tipo 1 y el tipo 2 del pokemon, en caso de que este tenga dos tipos. Aqui les adjunto imagenes de mis tablas




tabla1
tabla2
tabla3
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 6
Ha aumentado su posición en 4 puestos en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

Consulta de relación de muchos a muchos

Publicado por Sergio (3 intervenciones) el 20/05/2020 05:39:34
Amigo Buenas cuando ahy tablas de muchos a muchos debes crear automaticamente otra tabla
Ejemplo:

tabla1
idtabla1

tabla2
idtabla2

tabla1y2
idtabla1y2
idtabla1
idtabla2

cuando tengas esto recien puedes hacer lo k tu kieras jalar datos de todos...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 7
Ha aumentado 1 puesto en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

Consulta de relación de muchos a muchos

Publicado por Dario Sebastian (4 intervenciones) el 20/05/2020 05:55:54
Claro, de hecho las tablas que se relacionan de muchos a muchos son pokemon y tipos, y lo que reulta de esa relacion es la tabla de pokemontipo que almacena el id del pokemon en cuestion y el id al tipo al que pertenece este pokemon, hasta ahi todo bien, ya depues si es que el pokemon si tiene dos tipos se debe de registrar dos veces en pokemontipo, ya que un registro contendra su id del pokemon y el id al primer tipo, y el segundo contendra el mismo id del pokemon y el id del segundo; y lo que me gustaria es obtener algo como lo que muestro en la siguiente imagen
excel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 12
Ha aumentado su posición en 2 puestos en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

Consulta de relación de muchos a muchos

Publicado por Salvador (10 intervenciones) el 21/05/2020 12:55:58
Hola Dario Sebastian,

Necesitas otro campo en PokemonTipo como por ejemplo: "TipoID2", para poder almacenar el segundo tipo, de esta manera podrás relacionar el TipoID2 con la tabla "Tipos"

Mi a ver si esto te vale.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SELECT
    P.PokemonID
    ,P.Nombre
    ,P.Descripcion
    ,P.NumeroGeneracion
    ,P.EvolucionID
    ,PT.TipoID
    ,T.Nombre AS TipoNombre
    ,PT.TipoID2
    ,T2.Nombre AS TipoNombre2
  FROM Pokemon AS P
    INNER JOIN PokemonTipo AS PT ON P.PokemonID = PR.PokemonID
    INNER JOIN Tipo AS T ON T.TipoID = PT.TipoID
    LEFT JOIN PokemonTipo AS PT2 ON P2.PokemonID = PR2.PokemonID
    LEFT JOIN Tipo AS T2 ON T2.TipoID = PT2.TipoID2
Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar