0

这是我可以用于第一个的 SQL 查询

update Table1 t1
        inner join Table2 t2
        on  SUBSTRING_INDEX(t1.Location, ',', 1) = t2.Location 
    SET t1.Latitude = t2.Latitude ,
        t1.Longitude = t2.Longitude

例如,上面的查询将显示曼彻斯特,因为它在列中排在首位:曼彻斯特、德比、伯明翰

但我还想执行一个可以搜索 Derby 或 Birmingham 的查询,因此如果需要可以超越第一个逗号。

4

1 回答 1

0

这是一种方法:

update Table1 t1
        inner join Table2 t2
        on  find_in_set(t2.location, t1.Location) > 0
    SET t1.Latitude = t2.Latitude ,
        t1.Longitude = t2.Longitude

这也可以让您搜索特定位置,例如第二个:

update Table1 t1
        inner join Table2 t2
        on  find_in_set(t2.location, t1.Location) = 2
    SET t1.Latitude = t2.Latitude ,
        t1.Longitude = t2.Longitude
于 2013-03-03T22:53:15.873 回答