源表 tab
userid listerid createrid
1 10001 2016/5/6
1 10002 2016/3/22
1 10003 2016/9/5
1 10004 2016/7/5
2 10005 2016/3/22
2 10006 2016/9/15
3 10007 2016/7/15
3 10008 2016/3/2
使用SQL语句查询以下数据:
userid listerid createrid precreaterid
1 10001 2016/5/6 null
1 10002 2016/3/22 2016/5/6
1 10003 2016/9/5 2016/3/22
1 10004 2016/7/5 2016/9/5
2 10005 2016/3/22 null
2 10006 2016/9/15 2016/3/22
3 10007 2016/7/15 null
3 10008 2016/8/2 2016/7/15
我也知道用自联接,可是下面的的我就不会了。555。。。
@show1053508306: 我慢慢打给你,用手机码字非常慢 ,你试试调试下面的代码
select ta.userid,tb.listerid,ta.createid,tb.createid as precreateid
from tab ta
left join tab tb
on ta.userid=tb.userid and ta.listerid=tb.listerid+1
@show1053508306: 初步判断,应该满足你的需求
@悦光阴: 赞,但是有一点错误哦!
select ta.userid,tb.listerid,ta.createid,tb.createid as precreateid
应该是:select ta.userid,ta.listerid,ta.createrid,tb.createrid as precreateid
非常感谢!
select ta.userid,ta.listerid,ta.createid,tb.createid as precreateid
from tab ta
left join tab tb
on ta.userid=tb.userid and ta.listerid=tb.listerid+1
非常感谢,哈哈