DB2数据库查询到多行数据想要将上一行的字段A内容b和下一行同一字段A内容c拼接在一起变成b--c

例如这样的:... 例如这样的: 展开
 我来答
badkano
2016-05-12 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885365
团长

向TA提问 私信TA
展开全部

没有db2环境,oracle写个了,语法应该差不多

创建表t,时间字段用的字符型,这个如果你不是字符型的话,需要自己转换一下db2里的字段类型。

执行update语句:

update t t1
   set t1.start_end_date =
       (select t2.start_end_date
          from (select a.oid,
                       case
                         when a.oid <> (select max(oid) from t) then
                          a.tdate || '--' || b.tdate
                         else
                          a.tdate || '--' || '今'
                       end start_end_date
                  from t a
                  left join t b
                    on a.oid = b.oid - 1) t2
         where t1.oid = t2.oid)

更新后结果:

追问
但是我的oid不是这种形式的是这样的0013310C8089A83FACC0311D56E0E83Fqy这样的能解决吗?
追答
有规律吗?还是没规律?或者能否你自己给按照行数给上个序号?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式