簡體   English   中英

SQL Server 比較具有相同列的兩個表行並返回更改的列

[英]SQL Server compare two tables rows with identical columns and return changed columns

我想比較兩個具有相同列的表:

  • product - Id, Name, Description
  • Temp_Product - Id, Name, Description

現在用戶完成的更新將保存到Temp_Product 當管理員將看到該產品的詳細信息時,我需要顯示用戶所做的更改。 我想將兩個表與查詢進行比較,並返回從Product更改為Temp_Product

請建議我更好的方法來做到這一點?

Select p.id,p.name as orgn,t.name as altn,p.descripion as orgd,t.description as altd
from product p
join tmp_product t
on t.id=p.id and (t.name<>p.name or t.description <> p.description)

我想將兩個表與查詢進行比較,並返回從 Product 更改為 Temp_Product 的列

由於這兩個表具有相同的結構,您可以為此使用EXCEPT set 操作符:

SELECT * FROM Temp_Product
EXCEPT
SELECT * FROM Product;

SQL 小提琴演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM