我試圖將CustomerAudit表中的數據轉換爲CustomerHistory中描述的格式。 CustomerAudit記錄對客戶屬性的更改(添加,編輯,刪除)。 (姓名,地址,電話)。 CustomerHistory是一個快照表,它列出客戶在特定日期及時更改的屬性。如何檢索以前的非空值
表:CustomerAudit
Id Entity EntityId Field OldValue NewValue Type AuditDate
1 Customer 1 Name NULL Joe Add 2016-01-01
2 Customer 1 Phone NULL 567-54-3332 Add 2016-01-01
3 Customer 1 Address NULL 456 Centre Add 2016-01-01
4 Customer 1 Address 456 Centre 123 Main Edit 2016-01-02
5 Customer 1 Phone 567-54-3332 843-43-1230 Edit 2016-01-03
6 Customer 1 Phone 843-43-1230 NULL Delete 2016-01-04
表:CustomerHistory
EntityId Name Address Phone AuditDate
1 Joe 456 Centre 567-54-3332 2016-01-01
1 Joe 123 Main 567-54-3332 2016-01-02
1 Joe 123 Main 843-43-1230 2016-01-03
1 Joe 123 Main NULL 2016-01-04
我已經使用CROSS APPLY其進行確定3列,但非常差與30我使用的SQL Server我很感激任何幫助,想出一個合理的執行解決方案。
謝謝