SKU VCODE rollover
140053, M11 , STONE
140053, M11 , REC
TCI950600, T16 , REC
PSR1400600303, P2J , STONE
BUS14007, L22 , NIT
BUS14007, L22 , STONE
TLS1400E, TSP , RECFIT
BOR140120, B25 , STONE
BOR140120, B25 , REC
如果相同的SKU同时显示ROLLOVER ='STONE'
和'REC'
,或者SKU仅显示ROLLOVER ='REC'
,则从输出中排除
输出应为
SKU VCODE rollover
PSR1400600303, P2J , STONE
BUS14007, L22 , NIT
BUS14007, L22, STONE
TLS1400E, TSP, RECFIT
答案 0 :(得分:0)
通用实现将是:
select SKU, VCODE, ROLLOVER
from YOUR_TABLE ot
where not exists (
select 1
from YOUR_TABLE it
where it.ROLLOVER = 'REC'
and it.SKU = ot.SKU
)
此处“没有带ROLLOVER ='STONE'或'REC'的SKU”涵盖更多通用条件“没有SKU且ROLLOVER ='REC'”。
可能有更高效的实施选项,但这些选项取决于某些DBMS提供的功能。