Oracle
oracle sql:如何不選擇從表中選擇重複記錄
任何人都可以幫助我修復以下 sql 查詢
SELECT DISTINCT ORDER_NUMBER, FLAG FROM TABLE
下面是結果
訂單號標誌
LP-13288 錯誤
LP-13288 真實
LP-13292 錯誤
LP-13290 真實
LP-13293
LP-13291 真實
LP-13289 錯誤
期望的輸出
訂單號標誌
LP-13290 真實
LP-13291 真實
如何不選擇重複的訂單,只列印標誌為 true 的訂單。
任何輸入表示讚賞。
謝謝
您可以使用 NOT IN:
SELECT DISTINCT t1.ORDER_NUMBER, t1.FLAG FROM TABLE t1 WHERE t1.FLAG='true' AND t1.ORDER_NUMBER NOT IN (SELECT t2.ORDER_NUMBER FROM TABLE t2 WHERE t2.FLAG='false' OR t2.FLAG IS NULL)
如果您不關心空值(即您只想排除明確具有錯誤標誌的訂單號),只需刪除“OR t2.FLAG IS NULL”條件。此查詢還將返回可能存在多個帶有“true”標誌的記錄的訂單(只要沒有帶有“false”標誌或空的記錄)