Estoy tratando de actualizar mi tabla mysql (cityTable) con el valor cityFull en la tabla administrativa donde los valores de cityCode coinciden con el país y la ciudad en cityTable.
Creo que esta declaración debería funcionar. La única parte que me falta es qué poner en el ???? para código de ciudad. Es un poco complicado ya que también tiene un punto (.)
UPDATE cityTable INNER JOIN administrativeTable ON (?????????? = administrativeTable.cityCode) SET cityTable.cityFull = administrativeTable.cityFull;tabla administrativa
+----------+-----------+ | cityCode | cityFull | +----------+-----------+ | AU.Melb | Melbourne | | NZ.Auck | Auckland | +----------+-----------+ciudadMesa
+---------+------+-----------+ | country | city | cityFull | +---------+------+-----------+ | AU | Melb | | | NZ | Auck | | +---------+------+-----------+¡Salud!
Necesitas la función CONCAT() :
UPDATE cityTable c INNER JOIN administrativeTable a ON CONCAT(c.country, '.', c.city) = a.cityCode SET c.cityFull = a.cityFull; Ver la demostración .
Resultados:
| country | city | cityFull | | ------- | ---- | --------- | | AU | Melb | Melbourne | | NZ | Auck | Auckland |