0

现在我有一张带有各自州的城市表。

目前,状态存储为 varchars(状态缩写),但为了规范化表,我有一个存储状态 ID 的新状态表。

所以我在我想用 state_id 填充的城市表中添加了一个列,与存储在州和城市中的缩写相匹配。

完成后,我可以删除城市中的缩写列。

出于某种原因,我想不出一个查询来运行它?如果可能的话,我想避免做一个程序……我想我今天的创意已经用完了

4

2 回答 2

1
UPDATE
  city_state cs
  INNER JOIN state s ON s.StateAbbr = cs.State
SET
  cs.StateID = s.StateID
于 2013-10-01T19:18:13.637 回答
1

那这个呢。

UPDATE
  city_state cs
SET
  cs.StateID = (Select StateID from state where s.State = cs.StateAbbr);
于 2013-10-01T20:41:39.230 回答