【发布时间】:2015-01-23 00:52:57
【问题描述】:
我无法找到解决此问题的方法。
有两个表可以相互减去。
Select columnA, columnB, columnC from tableA
minus
Select columnA, columnB, columnC from tableB
我需要 tableA.columnC 中的数据,但它永远不会匹配到 tableB.columnC,因此减号语句将返回两条记录。
有没有办法从减号语句中忽略 columnC 但仍然返回结果?
-谢谢
附:关于这个问题的一点背景。我有一个交易表,其中列出了购买日期、账单金额、购买的物品(有时列出,有时不列出)、购买者的帐号和购买的唯一标识符。
此表包含购买和撤消。因此,如果有人以 10.00 的价格购买了一件商品,然后退回了该商品,则该商品的价格为 -10.00。在某些情况下,人们会在同一天内再次购买、退货和购买该商品。此数据来自第三方。
不幸的是,在这种情况下,总和不起作用,我需要所有尚未撤销的购买的逐行详细信息。
通过遵循这篇文章的建议并使用以下方法,我能够获得正确的数据: Prevent Oracle minus statement from removing duplicates
但是,我需要从这张表中获得更多信息,而不仅仅是我用来减去回报的信息。
这就是为什么我需要上述声明的帮助。
【问题讨论】:
-
您使用的是 Oracle 还是 MySQL?