我有一个名为lookup
的表,其中包含zip,city,state,latitude,longitude列(约40k行)。我想要做的是将数据复制到名为lookup2
的新表中,而不是在此表中包含纬度和经度列我有一个名为position
的POINT类型的列。
这当然无效,但你应该知道我想在这里实现的目标:
INSERT INTO lookup2 (zip, city, state, position)
SELECT zip, city, state, PointFromText(POINT(longitude latitude)) FROM lookup;
INSERT INTO SELECT是否可以这样?我怎样才能转换'这个查找表转换成另一个表上的新格式?
答案 0 :(得分:1)
想出来 - 除了使用CONCAT之外,还有另一种方法可以做到这一点,但这对我来说就像一个魅力,在新表上使用ST_X(位置)和ST_Y(位置)返回正确的lng / lat每个zip的值或我正在使用的任何查找。
INSERT INTO lookup2 (zip, city, state, position)
SELECT zip, city, state, PointFromText(CONCAT('POINT (', longitude, ' ', latitude, ')')) as position FROM lookup