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

SQL Server 2008 membandingkan dua tabel dalam database yang sama dan mendapatkan kolom diubah

Anda dapat melakukannya menggunakan LEFT JOIN :

SELECT  b.Product,
        b.Qty,
        b.Price,
        Result = CASE WHEN a.product IS NULL THEN 'New'
                    ELSE 'Updated: ' + 
                        STUFF(  CASE WHEN a.Qty != b.Qty THEN ',Qty' ELSE '' END + 
                                CASE WHEN a.Price != b.Price THEN ',Price' ELSE '' END,
                            1, 1, '')
                END
FROM    TableB b    
        LEFT JOIN TableA a
            ON a.Product = b.Product
WHERE   a.Product IS NULL
OR      a.Qty != b.Qty
OR      a.Price != b.Price;

Contoh pada SQL Fiddle



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. permintaan tunggal untuk dihapus dari beberapa tabel di server sql

  2. Keamanan IIS7, SQL 2008 dan ASP.NET MVC

  3. Konversi gagal saat mengonversi nilai varchar dalam pernyataan kasus

  4. SQL Server - Sisipan Bersamaan ke tabel dari beberapa klien - Periksa Batas dan Blok

  5. Akses antrian ke database untuk menghindari beberapa item cache