Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/10/2015, 16:56
Avatar de drako_darpan
drako_darpan
 
Fecha de Ingreso: octubre-2008
Ubicación: Sinaloa
Mensajes: 617
Antigüedad: 15 años, 6 meses
Puntos: 58
Duda con una subconsulta en SQL

Hola que tal, bueno tengo una duda con respecto a una subconsulta que tengo que hacer, la consulta es la siguiente:

Tengo una tabla donde tengo el número estado y el número del municipio y otra tabla donde tengo sus nombres.

Ejemplo:

Tabla Estados =>

Código SQL:
Ver original
  1. # del Estado   # del Municipio
  2.     1                   4
  3.     1                   5
  4.     2                   6
  5.     2                   8
  6.     2                   9
  7.     3                   7

Tabla de los nombres =>

Código SQL:
Ver original
  1. # estado             Nombre de estado y/o municipio
  2.     1                           MEXICO
  3.     2                           GUADALAJARA
  4.     3                           SINALOA
  5.     4                           COMPOSTELA
  6.     5                           TECAMAC
  7.     6                           TEQUILA
  8.     7                           CATEMACO
  9.     8                           ARENITAS
  10.     9                           ALGO


Lo que ocupo hacer es que por medio de una consulta obtener el nombre del estado y el nombre de su municipio, siguiendo con el ejemplo el resultado que espero es que se muestre de la siguiente manera:

Resultado esperado =>

Código SQL:
Ver original
  1. # del Estado                  # del Municipio
  2.     MEXICO                       COMPOSTELA
  3.     MEXICO                          TECAMAC
  4.     GUADALAJARA                 TEQUILA
  5.     GUADALAJARA                 ARENITAS
  6.     GUADALAJARA                 ALGO
  7.     SINALOA                        CATEMACO

El query que llevo hecho es de la siguiente manera:

Código SQL:
Ver original
  1. SELECT DISTINCT a.Estado, b.Nombre, a.Municipio/*,
  2.   ( SELECT b.Nombre
  3.     FROM TablaEstado  AS a (NOLOCK)
  4.     JOIN NombreEstados AS b (NOLOCK) ON ( a.Municipio= b.Municipio) ) */
  5. FROM TablaEstado AS a (NOLOCK)
  6. JOIN NombreEstados AS b (NOLOCK) ON ( a.Estado = b.Estado)
  7. ORDER BY a.Estado

Pero solo obtengo el # del estado, su nombre y el municipio bien, pero no puedo obtener el nombre del municipio. La parte que tengo comentada si la activo me marca error porque retorna mas de un valor.

Se agradece cualquier sugerencia.
__________________
Your Code as a Crime Scene...

Última edición por drako_darpan; 15/10/2015 a las 17:05