首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

同一个表中 区间 查询的应用有关问题 再 + 100分 ,直到解决为止,不够再另开帖+100

2012-01-21 
同一个表中 区间 查询的应用问题 再 +100分 ,直到解决为止,不够再另开帖+100前一帖的路径:http://communit

同一个表中 区间 查询的应用问题 再 + 100分 ,直到解决为止,不够再另开帖+100
前一帖的路径:
http://community.csdn.net/Expert/topic/5532/5532238.xml?temp=2.848452E-02

请进这个朋友帖的朋友在   该帖中回复,方便给分,谢谢先

[解决办法]
/*以下语句稍作调整,结果中就会出现你所说的同时符合左右区间条件的结果集,这时你可以再加过滤条件来区别到底是优先左区间还是右区间*/

CREATE TABLE TabA(ID INT IDENTITY(1,1),ESD SMALLDATETIME,LSD SMALLDATETIME)
INSERT INTO TabA
SELECT '2007-06-01 ', '2007-06-10 ' UNION ALL
SELECT '2007-06-05 ', '2007-06-06 ' UNION ALL
SELECT '2007-05-31 ', '2007-06-06 ' UNION ALL
SELECT '2007-06-05 ', '2007-06-12 ' UNION ALL
SELECT '2007-06-05 ', '2007-06-08 '
--DROP TABLE TabA

SELECT '左区间 ',* FROM TabA A LEFT OUTER JOIN TabA B ON DATEADD(DAY ,4,B.LSD) = A.LSD
WHERE A.ID = 1
UNION ALL
SELECT '右区间 ',* FROM TabA A LEFT OUTER JOIN TabA B ON DATEADD(DAY ,-4,B.ESD) = A.ESD
WHERE A.ID = 1
[解决办法]
楼主的问题严重挤牙膏,你的几个帖子的描述都不太一样!
以此贴为准,一会儿上菜
[解决办法]
中区间 1 2007-04-20 2007-04-27 2 2007-04-20 2007-04-27 √
左区间 1 2007-04-20 2007-04-27 3 2007-04-27 2007-05-04 ?这个怎么还是左区间?--右
左区间 1 2007-04-20 2007-04-27 4 2007-04-23 2007-04-30 ?这个怎么还是左区间?--右
左区间 2 2007-04-20 2007-04-27 1 2007-04-20 2007-04-27 ?这种该是中区间吧!
左区间 22007-04-20 2007-04-27 3 2007-04-27 2007-05-04 ?这个怎么还是左区间?--右
---------你所列举的数据怎么会这样?你是要说1是3的左区间吗?
'? '是我的问题, '-- '之后是我任务的区间
我描述一下,
ID = 1 和ID = 3的关系是3是1的右区间,其他是同类问题
[解决办法]
晚上QQ吧,这样太费劲了 282915023
[解决办法]
你现在查询出来的结果集如果去掉重复记录就是正确的了,是吗?
--如果是,就到我的blog中看一下关于重复记录的处理。
http://blog.csdn.net/simonhehe/archive/2006/09/06/1184675.aspx

热点排行