我有一張表,其中包含需要從中排除行的ID列表。對於每一行,一個ID在comment_code列中可以有一個值。我需要從結果中排除具有兩個特定值組合的ID,並保留僅包含這兩個值中的一個的ID。對不起,如果這不明確。Oracle SQL:嘗試基於列值的組合排除行
表例如:
ID SEQUENCE FUNCTION COMMENT_CODE
---------------------------------------------------------------
1 1 tree apple
1 2 bush orange
2 1 tree apple
2 2 tree banana
3 1 bush strawberry
輸出需要:
ID SEQUENCE FUNCTION COMMENT_CODE
---------------------------------------------------------------
2 1 tree apple
基本上,如果一個ID具有與「蘋果」作爲comment_code和以「桔子」作爲註釋代碼的行的行,我不想在結果中看到該ID。如果一個ID有一行'apple'作爲註釋代碼,我希望在我的結果中看到它們,而不管其他任何comment_code,只要它們沒有橙色註釋代碼就可以。
任何幫助將不勝感激。我試過使用存在和不存在子句的組合,以及listagg將每個ID的comment_code值組合在一起,但我沒有得到預期的結果。
謝謝戈登!我添加了「AND T.COMMENT ='apple'」,現在我得到了預期的結果。我昨天想過做一個CASE,但我無法想像如何在這種情況下實現它。 – user1904581
當你說'group by t'你是否指'按ID編組? –
@CaiusJard。 。 。謝謝。 –