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

oracle sao chép các hàng dựa trên một cột duy nhất

SELECT  a.*
FROM    TableName a
        INNER JOIN
        (
            SELECT  EmpID
            FROM    TableName
            GROUP   BY EmpID
            HAVING  COUNT(*) > 1
        ) b ON a.EmpID = b.EmpID

Một cách khác, mặc dù tôi thích ở trên hơn , là sử dụng IN

SELECT  a.*
FROM    TableName a
WHERE   EmpId IN
        (
            SELECT  EmpId
            FROM    TableName
            GROUP   BY EmpId
            HAVING  COUNT(*) > 1
        ) 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tạo hàm PL / SQL trong cơ sở dữ liệu Oracle

  2. Cách đặt ưu tiên cho giá trị null trong khi chọn

  3. Oracle và lập trình

  4. Tách cột CLOB dựa trên dòng mới - Oracle SQL

  5. Không hiểu tại sao SQL của tôi không hoạt động