查询数据时,如果没有最新数据就默认沿用有数据的那天。sql如何写。
之前的查询是沿用昨天数据,nvl(s.zhichu,nvl(r.zhichu,yxts.zhichu))zhichu
yxts取的是昨日数据
那不就是取时间最大的那一条吗,写一下你需要的维度字段,按日期倒序排出序号,之后WHERE RN = 1就可以了
row_number() over(partition by 维度字段1,维度字段2 order by 日期 desc) RN
oracle中row_number()的用法:
https://www.cnblogs.com/heyt/p/11346239.html
ORACLE不熟悉。下面语句行就最好,不行等下一个
SELECT (CASE WHEN NVL(A.ZHICHU,'')='' THEN (SELECT B.ZHICHU FROM TABLE B WHERE B.RQ<A.RQ AND NVL(B.ZHICHU,'')<>'' AND ROWNUM=1) ELSE A.ZHICHU END) FROM TABLE A
https://blog.csdn.net/samHuangLiang/article/details/126527423
nvl(r.zhichu,(select zhichu from 表名称 时间=(select max(时间) from 表名称)))