Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Cách xóa các dòng lặp lại trong truy vấn SQL Oracle

Bạn có thể viết lại truy vấn này với cú pháp tham gia như:

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 sẽ xóa các bản ghi trùng lặp.

CHỈNH SỬA:

bạn có thể bao gồm bảng con của bạn như:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để tạo bảng không thuộc sở hữu của hệ thống trong Oracle?

  2. Làm cách nào để lấy tham số đầu ra thủ tục được lưu trữ là một mảng để hoạt động?

  3. Thay thế biến / nghĩa cho con trỏ PL / SQL?

  4. Cơ sở dữ liệu và không gian bảng, sự khác biệt là gì?

  5. thêm bản ghi trong nlog vào trường với dataType =date