Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/06/2015, 15:10
dehm
 
Fecha de Ingreso: septiembre-2010
Mensajes: 494
Antigüedad: 14 años, 2 meses
Puntos: 10
Sustituir valores en una columna por otros de una tabla diferente

Hola:

No sé por qué se ha borrado el hilo previo, pero aprovecho para formular la pregunta mejor:

Parto de estas tablas:

Código SQL:
Ver original
  1. parcelas:
  2.  
  3. id | Parcela | Municipio
  4. ---------------------------
  5.  1 | Parcela1 | Municipio1
  6.  2 | Parcela2 | Municipio2
  7.  3 | Parcela3 | Municipio1

Código SQL:
Ver original
  1. municipio:
  2.  
  3. id | nombre
  4. --------------
  5.  1 | Municipio1
  6.  2 | Municipio2

Entonces quiero borrar la columna de los Municipios en la primera tabla, y sustituirla por una id que haga referencia a la segunda.

Primero creo una columna nueva: id_municipio en la primera tabla.
Y luego intento hacer lo siguiente:

Código SQL:
Ver original
  1. UPDATE parcelas SET id_municipio=(SELECT municipio.id FROM municipio WHERE municipio.nombre=parcelas.municipio);

Pero me arroja este error:
ERROR: more than one row returned by a subquery used as an expression

Por lo cual entiendo que el producto de la selección me devuelve varias filas. Y no sé cómo hacer para limitarlo a cada fila a actualizar.

Como siempre, se agradece la ayuda...una vez más.
__________________
Mi calculadora en Qt