sql-server - 从帐号计算用户公式
问题描述
我有两个表,第一个是 dbo.formula
Id | Poste | Calculation | Montant
---+--------+-------------+--------
1 | Achats | 3801%+381% | .....
2 | Tva | 446%-445% | ....
3 | Tiers | 411%+401% | ....
第二个表是 dbo.value
Compte | Solde
--------+-------
380000 | 400.00
380100 | 500.00
381100 | 200.00
381200 | 100.00
4456600 | 100.00
4455400 | 150.00
我需要成为 Montant 字段中第一个表中的结果,例如
800.00
50.00
我尝试了一个请求,但它只更改了 3 开始计算。
解决方案
根据您的条件加入表格并汇总:
select f.ID, f.Poste, sum(v.Solde) total
from formula f inner join value v
on charindex('+' + left(v.Compte, 3) + '%', '+' + f.Calculation) > 0
group by f.ID, f.Poste
请参阅演示。
结果:
> ID | Poste | total
> -: | :----- | :------
> 1 | Achats | 1200.00
> 2 | Tva | 250.00
推荐阅读
- scala - dbutils.secrets.get-NoSuchElementException: None.get
- xml - XSL XPath 问题
- javascript - 在哪里可以找到带有 js 代码的 Tailwind css 组件?
- python - 绘制图像时如何将 Axis 置于最前面?
- arrays - 在不提供输入的情况下查找数组中的最小和最大元素。(提示:静态数组)
- jsonpath - Jsonpath如何使用内部json节点选择这个json
- elasticsearch - 使用无痛的弹性查询脚本问题
- r - 如何在ggplot2中为轴文本添加文本框
- javascript - 加载新页面时的 localStorage 重定向
- sql - 使用 Entityframework 核心中的枚举类型列表过滤查询