比较单元格与同一行中的单元格

时间:2016-11-07 12:05:51

标签: sql sql-server

我在数据库表中有一个关于update和insert的触发器。我试图将旧细胞与新细胞进行比较。

--Part of my table that is relevant
-------------------------------------------
ID
Changed_Date
Name_new
.
.
Name_old 

旧数据和新数据在触发器中排在同一行和不同的单元格中,但每次将相同的客户群加载(更新)到我的数据库中时,我都会获得冗余重复数据。

我尝试了以下内容:

SELECT * FROM CUSTOMERS
WHERE Name_New <> Name_Old
ORDER BY Changed_Date DESC

不需要将具有相同新旧信息的客户加载到数据库中。我们将不胜感激。

更新 我将尝试通过示例说明使其更清晰

ID | Changed_Date   | Name_New    | Name_Old
   |-----------------------------------------
    --Loading my Application the 7th november and fetcing data to insert again

  1| 2016-nov-7 etc | John Smith  | John Smith
    --Loading my Application 6th november and fetching data to insert into my Database

  1| 2016-nov-6 etc | John Smith  | Heather Smith    

11月7日没有任何新内容,因此我无需显示任何内容。我上面的SELECT假设仅在Heather将名字改为John时于11月6日显示数据。

   ALTER TRIGGER [dbo].[TRG_CreateRevision]
ON [dbo].[Main_Customers_Table] AFTER UPDATE AS
BEGIN
    INSERT INTO Customers (
        CustomerID,
        ChangedDate,
        Name_New,   
        Name_Old,       
    )
    SELECT  [Old].ID,
            GETDATE(),
            [New].Name,
            [Old].Name,     
    FROM inserted AS [New]
    CROSS JOIN
    deleted AS [Old]
END

0 个答案:

没有答案