【发布时间】:2011-05-05 19:47:35
【问题描述】:
我有一个基本上执行如下操作的查询:
select a, b, c
from tab
where tab.state = 'A'
minus
select a, b, c
from tab
where tab.state = 'B'
在此示例中,a、b 和 c 是此表的关键字段。 state 也是键的一部分,我正在尝试查找在状态 A 中存在记录而不在状态 B 中的情况。我想报告另一个字段(不在键中)开,value,对于同一记录在不同的状态下可能会有所不同。示例:
在这种情况下,我对键为 1,3,9 且状态为 A 的行感兴趣。我还想获取 value 列的值,但如果我尝试:
select a, b, c, value
from tab
where tab.state = 'A'
minus
select a, b, c, value
from tab
where tab.state = 'B'
我会得到两行:
a b c 值 ---------------- 1 1 1 12 1 3 9 43基本上,我希望在结果集中有value,但不参与minus。我觉得我在这里遗漏了一些明显的东西,但也许我太累了,无法得到它......;)
【问题讨论】:
标签: sql oracle set-difference