繁体   English   中英

Mysql:复杂更新查询

[英]Mysql:Complex Update Query

我在用户表状态列中有状态。现在使用查询我想更新用户城市字段中的城市名称。我编写了此查询但不起作用。

1. USER TABLE

state      city     user_id

AF                     1
BF                     2 
CF                     3

2. STATE TABLE

UF      Name     

AF      AAA      
BF      BBB      
CF      CCC      

2. CITIES TABLE

UF_STATES      Name     

AF             XXX      
BF             YYY      
BF             XZZ      

查询:

UPDATE `user` SET `city` = 
(
    select name from cities WHERE uf = (select state from user)
)

我认为STATE是CITY的结果,因此您可能需要标准化表。 至于您的问题,您需要确定给定州应使用哪个城市。 一个例子是:

UPDATE user SET city = ( select MIN(name) from cities WHERE uf = (select state from user) )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM