sql >> Database >  >> RDS >> Oracle

Hoe herhaalde regels in een Oracle SQL-query te verwijderen

U kunt deze query herschrijven met join-syntaxis zoals:

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 zal dubbele records verwijderen.

EDIT:

u kunt uw kindtabel opnemen zoals:

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. Plaats batch in Laravel 5 "

  2. Hoe gedeeltelijk/volledig overlappende gebeurtenissen met begin- en eindtijdstempels uit de query-uitvoer verwijderen?

  3. MySQL-jokertekens * en %

  4. Omvang van SQL Server-database met behulp van back-upgeschiedenis