Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/11/2015, 07:06
alfonss
 
Fecha de Ingreso: noviembre-2015
Mensajes: 1
Antigüedad: 9 años
Puntos: 0
Seleccionar dos veces un mismo campo para distintas condiciones

Hola amigos:

Soy nuevo en mysql y me he encontrado con un caso complicado que no sé como resolver.

Resulta que tengo una tabla llamada "Municipios" con las columnas "nombre" e "idMunicipio". Por otro lado, tengo la tabla "Entidades" donde una de las columnas es "idMunicipio", ya que una entidad tiene que pertenecer a un municipio. Y por otro lado, tengo la tabla "Personal" que también tiene una columna "idMunicipio".

Quiero hacer una consulta donde quiero sacar los datos de una persona, por ejemplo:
Municipio de trabajo, Apellidos, Nombre, Municipio de la persona

Por lo tanto, Municipios.nombre tiene que ser seleccionado dos veces, pero para distintas condiciones, para el primer caso quiero que Entidades.idMunicipio=Municipios.idMunicipio y para el segundo caso quiero que Personal.idMunicipio=Municipios.idMunicipio

He intentado hacer una subconsulta para el primer caso, algo así:

Código MySQL:
Ver original
  1. SELECT (SELECT Municipios.nombre FROM Personal, Contratos, Municipios, Entidades, Tipos WHERE Entidades.idMunicipio=Municipios.idMunicipio
  2. AND Contratos.idPersona=Personal.idPersona AND Contratos.idEntidad=Entidades.idEntidad AND Contratos.idTipo=1),
  3. Personal.apellidos, Personal.nombre,Municipios.nombre FROM Personal, Contratos, Municipios, Entidades, Tipos WHERE Personal.idMunicipio=Municipios.idMunicipio
  4. AND Contratos.idPersona=Personal.idPersona AND Contratos.idEntidad=Entidades.idEntidad AND Contratos.idTipo=1

Pero sólo me funciona en el caso de que se encuentre una sola persona. En caso de que se encuentren más, no funciona. Supongo que el problema está en que la subconsulta devuelve varias filas, pero no sé cómo resolverlo.

Espero que alguien me pueda ayudar, gracias de antemano