现在我有一张各自州的城市表。
目前状态存储为varchars(状态缩写),但为了规范化表,我有一个存储状态ID的新状态表。
所以我在cities表中添加了一个我希望用state_id填充的列,匹配状态和城市中存储的缩写。
一旦完成,我可以删除城市中的缩写列。
出于某种原因,我想不出一个查询来运行它?我希望尽可能避免制作程序......我认为我的创意果汁今天已经用完了
答案 0 :(得分:1)
UPDATE
city_state cs
INNER JOIN state s ON s.StateAbbr = cs.State
SET
cs.StateID = s.StateID
答案 1 :(得分:1)
这是怎么回事。
UPDATE
city_state cs
SET
cs.StateID = (Select StateID from state where s.State = cs.StateAbbr);