我有一個基本上執行類似這樣的查詢:SQL - 設置差別和獲取字段是不差的至少一部分
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
,對於不同狀態下的相同記錄可能會有所不同。例如:
a b c state value --------------------- 1 1 1 A 12 1 2 2 A 1002 1 3 9 A 43 1 1 1 B 17.34 1 2 2 B 1002
在這種情況下,我很感興趣,其關鍵是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 value ---------------- 1 1 1 12 1 3 9 43
基本上,我想在結果集中value
,但不參與minus
。我覺得我缺少的東西在這裏很明顯,但也許我只是太累了,得到它...;)