sql >> Databasteknik >  >> RDS >> Oracle

Hur man tar bort upprepade rader i en Oracle SQL-fråga

Du kan skriva om den här frågan med join-syntax som :

SELECT DISTINCT t.table_id
FROM   TABLE_ONE t
       JOIN COMMON_TABLE cmn
         ON t.table_id = cmn.common_id
WHERE  t.table_name IN( 'TEST_ONE', 'TEST_TWO', 'TEST_THREE' )
       AND cmn.column_one > 20
       AND cmn.column_two <= 30 

DISTINCT kommer att ta bort dubbletter av poster.

EDIT:

du kan inkludera ditt barnbord som :

SELECT DISTINCT t.table_id
FROM   TABLE_ONE t
       JOIN COMMON_TABLE cmn
         ON t.table_id = cmn.common_id
       JOIN TABLE_CHILD_ONE tc
         ON t.table_id = tc.table_id
WHERE  ( tc.table_name IN( 'TEST_CHILD_ONE', 'TEST_CHILD_TWO', 'TEST_CHILD_THREE' )
          OR t.table_name IN( 'TEST_ONE', 'TEST_TWO', 'TEST_THREE' ) )
       AND cmn.column_one > 20
       AND cmn.column_two <= 30 


  1. MySQL SELECT DISTINCT rader (inte kolumner) för att filtrera $_POST för dubbletter

  2. Hur frågar jag mellan två datum med MySQL?

  3. Sök i en hel tabell i mySQL efter en sträng

  4. Infoga värden i en anpassad tabell när beställningen görs i Woocommerce