我们面临一个大问题我们如何将值从1列插入到同一个表的其他列
SELECT *
From (
SELECT answers.latitude as first_lat,answers.longitude as first_long ,answers.id as first_column from answers WHERE answers.question_id=142 and answers.survey_id=194
) as c1,
(
SELECT answers.latitude as second_lat,answers.longitude as second_long ,answers.id as second_column from answers WHERE answers.question_id=146 and answers.survey_id=194
) as c2
where first_column+1=second_column
我的上述查询有以下结果但现在我们正面临问题我们如何插入Value Second_lat到第一个lat,长
愿它有用
实际的表结构
这些是数据库146和数据库146中的两个对流行。 142
Question_id 146有lat,long我们想要移动lat,从146到142
id question_id ,lat,long
1 146 ,22.2222.11.1111
2 142,0,0
3 146 ,22.2222.11.1111
4 142,0,0
提前致谢
答案 0 :(得分:1)
UPDATE就是这样做的方法 如下所示。您可能需要为经度运行两个查询,为纬度运行一个查询。 UPDATE答案t1 SET t1.longitude =(SELECT t2.longitude FROM answers t2 WHERE t1.rownum + 1 = t2.rownum)
根据您使用的数据库,该rownum可能会有所不同
答案 1 :(得分:1)
尝试一下:
update answers as a1, answers as a2
set a1.latitude=a2.latitude,
a1.longitude=a2.longitude
where a1.id+1=a2.id
and a1.question_id=142
and a2.question_id=146
and a1.survey_id=194
and a2.survey_id=194