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

SQL 嵌套查询有关问题

2013-03-22 
SQL 嵌套查询问题 今天纠结了好长时间 , 才解决的一个问题 ,问题原因是 求得多条数据中,时间和日期是最大

SQL 嵌套查询问题

 

今天纠结了好长时间 , 才解决的一个问题 ,

问题原因是 求得多条数据中,  时间和日期是最大的一条数据

先前是以为只要msx 函数就可以解决的 ,

Select * from tableName where date=(select max(date) from TableName)  and time =(select max(time) from TableName)

 

测试的时候发现取出的是一条数据, 因为测试的时候是一天中的两条数据, 没有不同的日期,所以当日以为是正确的 ,然而第二天写入数据了,要取出数据,却发现没有数据, 返回空的行, 以为都是代码又有问题 了,找了半天都没有 ,仔细看看了存储过程中的代码,发现这样返回的数据的确是空的。

这个是嵌套查询的语句。  先执行的是外部查询的语句 。

 

比如说有三条信息.用上面写的语句在SQL分析器中执行

 

 SQL 嵌套查询有关问题

 

 

分析下这样的查询  先查找的是 日期 , 日期最大是下面两条语句 。 在对比时间 。 发现时间最大的只有一

条数据, 这样第二条数据就理所当然的被取出来了。 这个是当时测试的结果

 

 SQL 嵌套查询有关问题

 

但后来我修改了数据 。第二天测试发现,数据为空了。 没有数据 。分析是这样的

查询到的最大天数是2013-03-18这条数据。第三行。 而时间最带的是21:12:21是第二条数据

这样与的结果就是没有交集,为空了。

 

 SQL 嵌套查询有关问题

 

 

后来通过 查找课本和询问他人。 问题解决了 ,办法就是通过排序的方法

 order by Desc 的降序排顺 ,排序可以是通过不同的方式,可以叠加的

上面的语句若果改正为以下语句,就会是想要结果

 

select top 1 * from T_CheckBill  order by date desc,time desc

 

 SQL 嵌套查询有关问题

 

以上是自己的发现。 交流是一定要的,不然自己的想法很局限了

 

1楼han_yankun2009昨天 21:47
加油

热点排行