簡體   English   中英

SQL:通過聯接將數據從一列復制到同一表中的另一列,然后刪除

[英]SQL: To Copy data from one column to another in same table by joining and then delete

嘗試將數據從1列復制到另一列時出現錯誤,因為有2行數據幾乎相同,但具有唯一ID。 我使用了select語句,該語句可以很好地選擇要從train_date復制到del_date列的特定日期,但要選擇where語句中的條件。 如何將數據復制到預定日期,然后刪除train_date行。 謝謝

update dbo.Comp d
  set d.del_date =  t.train_date 
  (
   SELECT d.unique_id as delUnique
      ,t.unique_id  as TraUnique
      ,d.del_date as delDelDate
      ,t.del_date as traDelDate
      ,d.train_date as delTrainDt
      ,t.train_date as traTrainDt

  FROM dbo.Comp d 
  inner join dbo.Comp t on d.g_id = t.g_id 
  where t.del_date = d.train_date
  and t.unique_id <> d.unique_id
  order by d.og_id, d.g_id

嘗試這個,

update d
set d.del_date =  t.train_date 
FROM dbo.Comp d 
inner join dbo.Comp t on d.g_id = t.g_id 
where t.del_date = d.train_date
and t.unique_id <> d.unique_id

暫無
暫無

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

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