Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana saya bisa memeriksa duplikat sebelum memasukkan ke dalam tabel saat memasukkan dengan pilih

INSERT INTO table1 
SELECT t2.col1, 
       t2.col2 
FROM   table2 t2 
       LEFT JOIN table1 t1 
         ON t2.col1 = t1.col1 
            AND t2.col2 = t1.col2 
WHERE  t1.col1 IS NULL 

Penggunaan alternatif kecuali

INSERT INTO @table2 
SELECT col1, 
       col2 
FROM   table1 
EXCEPT 
SELECT t1.col1, 
       t1.col2 
FROM   table1 t1 
       INNER JOIN table2 t2 
         ON t1.col1 = t2.col1 
            AND t1.col2 = t2.col2 

Alternatif menggunakan Tidak Ada

INSERT INTO table2 
SELECT col1,col2 
FROM table1 t1
WHERE
NOT EXISTS( SELECT 1
    FROM table2 t2
    WHERE t1.col1 = t2.col1
          AND t1.col2 = t2.col2)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jumlah digit angka di server sql tanpa menggunakan loop tradisional seperti while

  2. Pulihkan cadangan SQL Server 2000 di SQL Server 2012

  3. Bagaimana TRY_CAST() Bekerja di SQL Server

  4. Bisakah saya menggunakan pernyataan CASE dalam kondisi JOIN?

  5. Bagaimana cara menggunakan DATEDIFF untuk mengembalikan tahun, bulan, dan hari?