如何使用插入和选择语句
Posted
技术标签:
【中文标题】如何使用插入和选择语句【英文标题】:how to use insert and select statement 【发布时间】:2018-07-24 04:47:52 【问题描述】:我们面临一个大问题我们如何将值从 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
我上面的查询有以下结果但是现在我们面临的问题是如何插入值 second_lat 到第一个 lat ,long
希望对您有所帮助 实际表结构 这是数据库 146 和 142 中的两个对流行 Question_id 146 有 lat ,long 我们想将 lat ,long 从 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
提前致谢
【问题讨论】:
为什么将行转换为列也可以在行中实现? 【参考方案1】:更新是做到这一点的方法 如下所示。您可能需要运行两个查询,一个查询经度,一个查询纬度。 UPDATE 答案 t1 SET t1.longitude = (SELECT t2.longitude FROM answers t2 WHERE t1.rownum + 1 = t2.rownum)
根据您使用的数据库,rownum 可能不同
【讨论】:
【参考方案2】:试试这个:
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
【讨论】:
以上是关于如何使用插入和选择语句的主要内容,如果未能解决你的问题,请参考以下文章