Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

डेटाबेस में डुप्लिकेट अस्थायी रिकॉर्ड मर्ज करें

इसे आज़माएं यदि आप सुनिश्चित कर सकते हैं कि सभी प्रारंभ तिथि और समाप्ति तिथि निरंतर हैं:

with  t1 as  --tag first row with 1 in a continuous time series
(
select t1.*, case when t1.column1=t2.column1 and t1.column2=t2.column2
                  then 0 else 1 end as tag
  from your_table t1
  left join your_table t2
    on t1.EmployeeId= t2.EmployeeId and dateadd(day,-1,t1.StartDate)= t2.EndDate
)
select t1.EmployeeId, t1.StartDate, 
       case when min(T2.StartDate) is null then null
            else dateadd(day,-1,min(T2.StartDate)) end as EndDate,
       t1.Column1, t1.Column2
  from (select t1.* from t1 where tag=1 ) as t1  -- to get StartDate
  left join (select t1.* from t1 where tag=1 ) as t2  -- to get a new EndDate
    on t1.EmployeeId= t2.EmployeeId and t1.StartDate < t2.StartDate
 group by t1.EmployeeId, t1.StartDate, t1.Column1,   t1.Column2


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पैरामीटरयुक्त क्वेरी ..... पैरामीटर '@units' की अपेक्षा करता है, जो आपूर्ति नहीं की गई थी

  2. 🆕 SQL सर्वर 2022 फर्स्ट लुक - शीर्ष 5 नई सुविधाएँ (बोनस 5 सुविधाएँ)

  3. SQL सर्वर प्रबंधन स्टूडियो (SSMS) को अनइंस्टॉल कैसे करें - SQL सर्वर / TSQL ट्यूटोरियल भाग 23.1

  4. मैं अपने सी # कोड से SQL सर्वर संग्रहीत प्रो में कैसे कदम उठा सकता हूं?

  5. SQL सर्वर 2012 में विस्तारित ईवेंट में एक महत्वपूर्ण परिवर्तन