我遇到了一些麻烦,在不同的表比较的相关数据,我会很感激得到下面的话题有些帮助。不幸的是,我不确定DBS是什么(尽管没有什么优势),但是在IBM硬件上运行它。因此,为了简化数据集:SQL选择性分组
发票
Doci Sumi
1005 10
1006 15
1007 7
1008 20
付款
Docp Sump
1006 -15
1005 -4
1005 -6
1007 -7
的目的是比较两个表,并查看是否有匹配 - 本质上,如果发票金额已覆盖付款与否。对我来说,第一件新事情是比较另一个图表中负数值的数字数据,但是让它与-1乘数一起工作。
剩下的问题,我不能真正拿出一个解决方案基本上使查询了解记录/发票号1005是覆盖,只有两个交易。基本上,结果应该只是发票编号1008,因为它在支付表中没有匹配。
我确实最终审查了SQL集合函数,即SUM,但是实际上并没有弄清楚如何利用它,因为我不想总结整个Sump列中的值,但只有那些具有相同记录的值在Docp专栏中。
到目前为止,我已经是这样的:
SELECT * from INVOICES
inner join PAYMENTS on INVOICES.Doci = PAYMENTS.Docp
where Sumi <> (Sump*-1)
所以,这个查询的工作来,我不会得到记录,例如在结果1006和1007的范围内,但我得到1005,为看似值10相比4,而不是4 + 6
提前任何反馈非常感谢!
再来想想,我真的不太清楚您想要的结果 –