locked
Crear una consulta en SQL Server que me permita relacionar varios catálogos con una tabla. RRS feed

  • Pregunta

  • Hola.

    Necesito ayuda para crear una consulta en SQL Server que me permita relacionar varios catálogos con una tabla. A ver si logro explicarme.

    Tengo 1 tabla llamada Permiso que tiene estos campos

    • Formulario
    • Pais
    • Red
    • Plataforma
    • Perfil
    • Acceso

      En todos ellos se almacena un código.

      Junto con esta tabla tengo 5 tablas que son catálogos. Pais, Red, Plataforma, Perfil y Acceso. En cada una de ellas independientemente de otros campos, tengo dos que son los que me interesan el campo Código y el campo Nombre.

      Necesito crear una consulta de la tabla permiso en la que en lugar de mostrar códigos me muestre los nombres que corresponde a cada código en cada registro de la tabla.


      Por ejemplo


      Tabla Permiso:

      Formulario Pais Red Plataforma Perfil Acceso
      12345          GT   1           11           1         1
      23456          NI    1            5            2         1
      45678         CR    2            7            1         3

       
      Lo que necesito es que muestre el resultado de la consulta de la siguiente forma:

      Formulario         Pais           Red    Plataforma   Perfil   Acceso
      12345            Guatemala    CMT        TX          CJM    ADMON
      23456            Nicaragua     CMT        JYZ         JJJ      ADMON
      45678            Costa Rica     LLL        XXX       CJM    USUARIO

      Lo que estaría mostrando es el contenido del campo NOMBRE de cada uno de las tablas de catálogo.

      Puede alguien ayudarme con indicarme como puedo lograr esto con una consulta SQL?


      Gracias.
    martes, 6 de noviembre de 2018 15:18

Respuestas

  • Basicamente lo que requieres es realizar el enlace en tus tablas a traves de JOIN, puedes buscar enlaces sobre fundamentos de TSQL para que amplies en el tema, lo importante es que tus tablas se encuentren bien diseños en terminos de sus relaciones e integridad de datos.  Ya que no has posteado la estructura de las tablas en forma que nos sea mas sencillo intentare postear el seudocodigo.

    SELECT P.Formulario, Pais.Nombre, ...
    FROM Permiso AS P
    INNER JOIN Pais ON P.Pais = Pais.Codigo
    ...

    Los JOINs los deberas enlazar a traves de las tablas que necesitas.  Cualquier duda solo escribenos.


    "Oh, the wind, the wind is blowing,through the graves the wind is blowing,Freedom soon will come; then well come from the shadows".The Partisan(Leonard Cohen) Email: me[at]geohernandez.net Blog:www.geohernandez.net

    martes, 6 de noviembre de 2018 16:37