Re: [SQL ] cte 递回

楼主: rockchangnew (rock)   2016-02-23 15:31:45
※ 引述《bernachom (Terry)》之铭言:
: 数据库名称: sql server 2008 r2
: 数据库版本: 2008 r2
: 内容/问题描述:
: 请教一下,
: 我有一个table是长这个样子
: useriD uID tDate startDate endDate seqNo
: AAAA ZZ 2016-02-21 NULL NULL 1
: BBBB ZZ 2016-02-25 NULL NULL 2
: CCCC VV 2016-02-25 NULL NULL 3
: 我希望整理后最后的结果是
: userID uID tDate startDate endDate seqNo
: AAAA ZZ 2016-02-21 2016-02-21 2016-02-25 1
: BBBB ZZ 2016-02-25 2016-02-25 NULL 2
: CCCC VV 2016-02-25 2016-02-25 NULL 3
: uID 、 userID、tDate 为key值
: 我要找出每一个uID的有效区间 (startDate, endDate)
: 如果uID只有一笔的时后,他就还没有结束 endDate 就会是null
: 如果uid有两笔以上的时后,次笔的tDate(产生uid时间),就会更新到目前这一笔的endDate
: 我用cte去跑,结果一直超出100笔
: 不知道是什么条件没有下好..
: 希望前辈能教导一下
: 然后我发烧了,好难过...唉,希望今天会好转..
: [更新]
: (今天什么事都做不了,烧得好厉害呀,唉...现在也还在咳)
: 刚才我用了简单的更新就做完了,我搞得太复杂了
:

Links booklink

Contact Us: admin [ a t ] ucptt.com