前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >sql中的嵌套查询_sql的多表数据嵌套查询

sql中的嵌套查询_sql的多表数据嵌套查询

作者头像
全栈程序员站长
发布2022-09-22 16:54:14
发布2022-09-22 16:54:14
7.1K0
举报

大家好,又见面了,我是你们的朋友全栈君。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/169420.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档