Estoy bastante espero estos días ya que no puedo resolver una consulta que relaciona 1 tabla con 4 más. Menos mal que sigo avanzando por otro lugar, si no... estaría parado.
Tengo estas tablas:
TD_CLIENTES
__________________
ID_CLIENTE (pk)
RAZON
DIRECCION
COD_PAIS (FK a la tabla TD_COD_PAIS)
COD_COMUNIDAD (FK a la tabla TD_COD_COMUNIDAD)
COD_PROVINCIA (FK a la tabla TD_COD_PROVINCIA)
COD_LOCALIDAD (FK a la tabla TD_COD_LOCALIDAD)
Teniedo SOLO un cliente en la tabla clientes con estos datos:
2 - CLIENTE DE PRUEBA - DIRECCIÓN - 1 - 17 - 1 - 2
TD_COD_PAIS
__________________
ID_COD (PK)
DESCRIPCION
Teniedo SOLO un país en la tabla con estos datos:
1 - ESPAÑA
TD_COD_COMUNIDAD
__________________
ID_COD (PK) FK a la tabla TD_COD_PAIS
ID_COD2 (PK)
DESCRIPCION
En esta tabla están todas las comunidades de España, la ID=17 es Comunidad Valenciana
TD_COD_PROVINCIA
__________________
ID_COD (PK) FK a la tabla TD_COD_PAIS
ID_COD2 (PK) FK a la tabla TD_COD_COMUNIDAD
ID_COD3 (PK)
DESCRIPCION
En esta tabla están todas las provincias de España, la Provincia 1 de la Comunidad 17 del País 1 es ALICANTE
TD_COD_LOCALIDAD
__________________
ID_COD (PK) FK a la tabla TD_COD_PAIS
ID_COD2 (PK) FK a la tabla TD_COD_COMUNIDAD
ID_COD3 (PK) FK a la tabla TD_COD_PROVINCIA
ID_COD4 (PK)
DESCRIPCION
En esta tabla están algunas localidades. La Localidad 2 de la Provincia 1 de la Comunidad 17 del País 1 es ELCHE
El caso es que quiero que me devuelva a TODOS los clientes, con la descripción del País, Comunidad, Provincia y Localidad.
Lo hago así:
Código:
SELECT DISTINCT(ID_CLIENTE), RAZON, DIRECCION, TD_CLIENTES.COD_PAIS, TD_COD_PAIS.DESCRIPCION, TD_CLIENTES.COD_COMUNIDAD, TD_COD_COMUNIDAD.DESCRIPCION, TD_CLIENTES.COD_PROVINCIA, TD_COD_PROVINCIA.DESCRIPCION, TD_CLIENTES.COD_LOCALIDAD, TD_COD_LOCALIDAD.DESCRIPCION FROM TD_CLIENTES INNER JOIN TD_COD_PAIS ON TD_CLIENTES.COD_PAIS = TD_COD_PAIS.ID_COD INNER JOIN TD_COD_COMUNIDAD ON TD_CLIENTES.COD_COMUNIDAD = TD_COD_COMUNIDAD.ID_COD2 INNER JOIN TD_COD_PROVINCIA ON TD_CLIENTES.COD_PROVINCIA = TD_COD_PROVINCIA.ID_COD3 INNER JOIN TD_COD_LOCALIDAD ON TD_CLIENTES.COD_LOCALIDAD = TD_COD_LOCALIDAD.ID_COD4 ORDER BY RAZON
Pero me trae 19 resultados, 1 por cada una de las Comunidades que hay (17 + Ceuta y Melilla)
2 - CLIENTE DE PRUEBA - DIRECCIÓN - 1 - ESPAÑA - 17 - Comunidad Valenciana - 1 - Álava - 2 - Elche
2 - CLIENTE DE PRUEBA - DIRECCIÓN - 1 - ESPAÑA - 17 - Comunidad Valenciana - 1 - Albacete - 2 - Elche
2 - CLIENTE DE PRUEBA - DIRECCIÓN - 1 - ESPAÑA - 17 - Comunidad Valenciana - 1 - Alicante - 2 - Elche
2 - CLIENTE DE PRUEBA - DIRECCIÓN - 1 - ESPAÑA - 17 - Comunidad Valenciana - 1 - Almería - 2 - Elche
2 - CLIENTE DE PRUEBA - DIRECCIÓN - 1 - ESPAÑA - 17 - Comunidad Valenciana - 1 - Ávila - 2 - Elche
2 - CLIENTE DE PRUEBA - DIRECCIÓN - 1 - ESPAÑA - 17 - Comunidad Valenciana - 1 - Badajoz - 2 - Elche
2 - CLIENTE DE PRUEBA - DIRECCIÓN - 1 - ESPAÑA - 17 - Comunidad Valenciana - 1 - Barcelona - 2 - Elche
2 - CLIENTE DE PRUEBA - DIRECCIÓN - 1 - ESPAÑA - 17 - Comunidad Valenciana - 1 - Cantabria - 2 - Elche
2 - CLIENTE DE PRUEBA - DIRECCIÓN - 1 - ESPAÑA - 17 - Comunidad Valenciana - 1 - Ceuta - 2 - Elche
2 - CLIENTE DE PRUEBA - DIRECCIÓN - 1 - ESPAÑA - 17 - Comunidad Valenciana - 1 - Com. Foral Navarra - 2 - Elche
2 - CLIENTE DE PRUEBA - DIRECCIÓN - 1 - ESPAÑA - 17 - Comunidad Valenciana - 1 - Huesca - 2 - Elche
2 - CLIENTE DE PRUEBA - DIRECCIÓN - 1 - ESPAÑA - 17 - Comunidad Valenciana - 1 - Islas Baleares - 2 - Elche
2 - CLIENTE DE PRUEBA - DIRECCIÓN - 1 - ESPAÑA - 17 - Comunidad Valenciana - 1 - La Coruña - 2 - Elche
2 - CLIENTE DE PRUEBA - DIRECCIÓN - 1 - ESPAÑA - 17 - Comunidad Valenciana - 1 - La Rioja - 2 - Elche
2 - CLIENTE DE PRUEBA - DIRECCIÓN - 1 - ESPAÑA - 17 - Comunidad Valenciana - 1 - Las Palmas - 2 - Elche
2 - CLIENTE DE PRUEBA - DIRECCIÓN - 1 - ESPAÑA - 17 - Comunidad Valenciana - 1 - Madrid - 2 - Elche
2 - CLIENTE DE PRUEBA - DIRECCIÓN - 1 - ESPAÑA - 17 - Comunidad Valenciana - 1 - Melilla - 2 - Elche
2 - CLIENTE DE PRUEBA - DIRECCIÓN - 1 - ESPAÑA - 17 - Comunidad Valenciana - 1 - Murcia - 2 - Elche
2 - CLIENTE DE PRUEBA - DIRECCIÓN - 1 - ESPAÑA - 17 - Comunidad Valenciana - 1 - Principado Asturias - 2 - Elche
Está claro que solo quiero que me de el resultado:
2 - CLIENTE DE PRUEBA - DIRECCIÓN - 1 - ESPAÑA - 17 - Comunidad Valenciana - 1 - Alicante - 2 - Elche
Pero no lo consigo... y no se donde tengo el error ya que he probado otras CONSULTAS cambiando algunas claves... pero nada.
Espero vuestra ayuda.
Muchas gracias!