sql - 查找与两个表之间的日期和金额匹配的值
问题描述
如果两个表格的日期和金额匹配,如果金额不在真实日期,我如何将金额与另一个日期进行比较?
condition1 如果日期和金额匹配则为真
条件 2. 如果您在该日期没有相同的金额,则查找与上一个日期对应的金额,如果您有匹配的金额
condition3 如果金额不匹配则为 False
我有 2 张桌子,一张用于 t1,另一张用于他们的 t2。那些是mariaDB
t1 表:
id | date | cash_amount_received
----------------------------------
1 2020-04-01 7000
2 2020-04-29 1000
3 2020-04-29 2000
4 2020-04-29 3000
5 2020-04-29 4000
6 2020-04-29 5000
7 2020-04-29 6000
8 2020-04-29 10000
t2 表:
id | date | amount
----------------------------------
1 2020-04-29 1000
2 2020-04-29 2000
3 2020-04-29 3000
4 2020-04-29 4000
5 2020-04-29 5000
6 2020-04-29 5000
7 2020-04-29 7000
我想达到这个结果:
id | cash_amount_received | amount| result
-----------------------------------------------------
1 7000 7000 true
2 1000 1000 true
3 2000 2000 true
4 3000 3000 true
5 4000 4000 true
6 5000 5000 true
7 6000 null false
8 10000 null false
9 null 5000 false
我应该如何填写查询?我不知道。帮我。
解决方案
我认为您应该创建 2 个查询:
一个用于所有已核对的总和
一个用于所有未核对的总和。
和解了
SELECT t1.date, t1.cash_amount_received
FROM t1, t2
WHERE t1.date = t2.date AND t1.cash_amount_received = t2.amount
ORDER BY t1.date, t1.cash_amount_received
不甘心
SELECT t1.date AS t1_date, t1.cash_amount_received, t2.date AS t2_date, t2.amount
FROM t1, t2
WHERE t1.date != t2.date OR t1.cash_amount_received != t2.amount
ORDER BY t1.date, t1.cash_amount_received
推荐阅读
- python - 如何将函数参数的值传递给变量?
- php - 运行 php artisan serve 命令时返回错误 ([ErrorException] chdir(): No such file or directory (errno 2))
- python-3.x - TensorFlow SparseCategoricalAccuracy 度量计算
- machine-learning - 为什么神经网络似乎没有学习?(从头开始构建)
- javascript - 播放在richtexteditor中上传的视频时出现问题
- java - 使用数组使访客登录管理系统
- c# - 将 SQL Server 错误与其他类型的异常分开处理
- symfony - 我如何解决以下 symfony 依赖错误
- python - 为什么数值会打印在热图的边界上?
- android - 如何从按钮中的文本中删除白色阴影