Oracle

oracle sql:如何不選擇從表中選擇重複記錄

  • August 13, 2018

任何人都可以幫助我修復以下 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”標誌或空的記錄)

引用自:https://dba.stackexchange.com/questions/214813