如何使用insert和select语句

时间:2018-02-13 18:20:01

标签: mysql sql database select phpmyadmin

我们面临一个大问题我们如何将值从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,长

enter image description here 愿它有用 实际的表结构 这些是数据库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 

提前致谢

2 个答案:

答案 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