【发布时间】:2022-02-02 17:01:03
【问题描述】:
当我在同一家公司的 Cred 和 Debt 值相同时,我正在苦苦思考如何过滤我的表。它们需要相同,如下面的玩具示例。
假设如下表
+---------+----------+----------+----------+
| Company | Cred | Debt | ID |
+---------+----------+----------+----------+
| BFG | 10 | 0| 1|
| AAA | 11 | 0| 2|
| CCC | 6 | 0| 3|
| BFG | 0 | 13| 4|
| AAA | 0 | 11| 5|
| CCC | 0 | 7| 6|
| CCC | 0 | 6| 7|
+---------+----------+----------+----------+
-- Desired result, as something like
+---------+----------+----------+----------+
| Company | Cred | Debt | ID |
+---------+----------+----------+----------+
| AAA | 11 | 0| 2|
| CCC | 6 | 0| 3|
| AAA | 0 | 11| 5|
| CCC | 0 | 6| 7|
+---------+----------+----------+----------+
我想使用它们的总和并在列中过滤具有相等值的总计,按总计和公司分组,但这种策略不起作用,因为公司可以在不同行的借方列中具有相同的值。
任何提示我该怎么做?
【问题讨论】:
-
过于简化,很容易误入歧途。如果存在
和 行,您会期望什么?毕竟 - 对于完全不同的交易,贷方或借方的金额可以很容易地并且经常随着时间的推移而重复。 -
@SMor,在这种情况下,这些行也必须考虑。
-
这似乎很明显。将其添加到您的示例数据中,然后添加您想要的输出,然后解释您认为可用于进行匹配的逻辑。我担心您过度简化了您的样本数据,并且可能忽略了包括贷方和借方在内的分类帐交易的复杂性(请注意我的假设 - 也许这根本不是分类帐信息)。人们经常会看到给定交易的多笔贷记和多笔借记 - 这意味着您无法匹配单个金额(即您匹配总金额)。
标签: sql sql-server filter group-by