SQL Query用于从另一个表复制列

时间:2016-09-01 10:20:29

标签: php mysql sql

创建SQL查询以将table1列条目复制到table2列条目时遇到问题。

情景是,

城市是一个包含以下属性的表

  • City_Id
  • 纬度
  • 经度
  • 有效

Venue 是一个包含以下属性的表

  • V_id
  • City_Id
  • LAT

我要复制所有纬度&经度进入 lat& 分别 lat& long 应该为NULL,当city为Active = 1且c.city_id = v.city_id时。 但是Venue中存在多个city_id,因此我需要复制它。

如果有人帮助我为此构建查询,那将会很有帮助。

2 个答案:

答案 0 :(得分:1)

您可以在UPDATE

中使用JOIN语句
UPDATE Venue
INNER JOIN City ON City.City_Id = Venue.City_Id
SET Venue.lat = City.latitude, Venue.long = City.longitude
WHERE City.Active = 1 AND (Venue.lat IS NULL OR Venue.long IS NULL)

答案 1 :(得分:1)

UPDATE

使用JOIN查询
UPDATE Venue AS v
JOIN City AS c ON v.city_id = c.city_id
SET v.lat = c.latitude, v.long = c.longitude
WHERE c.active = 1 AND v.lat IS NULL AND v.long IS NULL