sql - 用于提取上次加载日期不等于今天的帐户的 SQL 查询
问题描述
我在查询中似乎遇到了一些问题,需要您的帮助。
我有 2 张桌子:
第一个表包含银行帐户详细信息 - 帐号、状态等 - bankacc
第二个表存储语句的名称和导入语句的加载日期-bankstm
我正在尝试编写一个查询,该查询将仅填充截至今天尚未导入其对帐单的那些银行帐户。
数据库中的日期格式 -2020-01-17 00:00:00.000
我尝试过的代码:
SELECT b.bank_acc as Bank_Account, max(b.date_ld) as Load_Date from bankstm b
where b.date_ld < CAST(GETDATE() AS DATE) and
b.bank_acc in (select a.acc_no from bankacc a where a.in_use = 'Y' and a.analyse03 = '1517')
group by b.bank_acc
此代码填充上一日期的所有记录,而其中大多数是今天加载的语句。
我还尝试使用'='
或'<>'
或'>'
基于先前在堆栈溢出中引发的查询的代码。但似乎没有什么能给我正确的结果。
所以最后我提出来让专家帮助我。
解决方案
您需要在最大值上应用日期过滤器。我将 max(b.date_ld) 转换为日期,以防它的日期时间格式
SELECT b.bank_acc as Bank_Account, max(b.date_ld) as Load_Date from bankstm b
where
b.bank_acc in (select a.acc_no from bankacc a where a.in_use = 'Y' and a.analyse03 = '1517')
group by b.bank_acc
having cast(max(b.date_ld) as date) < CAST(GETDATE() AS DATE)
推荐阅读
- mongodb - MongoDB 4.2 将聚合管道更新与数组过滤器结合起来
- robotframework - 使用 Python 在机器人框架中使用“SapGuiLibrary.Doubleclick 元素”
- c# - EmguCV:使用多个相同相机的问题
- r - 找出一个函数是否在另一个函数R中
- python - 使用变音符号解码 cp1252 标准输出
- c# - 从视图模型中操作视图对象是 Prism 项目的标准吗?
- android - 在 PlayStore 中按名称或包名称搜索 Android 应用时不显示
- javascript - JS / React Carousel with useEffect & Hooks - 水平滚动到轮播中的标签?
- python - 为什么 pd.Timedelta modulo int 工作,但不是 plus int?
- r - data.table高效回收V2