![](/img/trans.png)
[英]SQL (Oracle) to query for record with max date, only if the end_dt has a value
[英]update a end_dt column which is null based on next created record created date
例:
根據下一個創建的記錄創建日期,更新為空的end_dt列
當前情況:
CUST_ID CREATED_DT END_DT
1 3/25/2013 6:51:33 PM
1 3/25/2013 6:23:58 PM
1 3/25/2013 5:02:07 PM
1 3/12/2013 9:18:21 AM
1 3/8/2013 12:47:13 PM
1 1/25/2013 7:24:02 AM
1 1/23/2013 11:26:31 AM
1 11/13/2012 8:55:31 AM
需要:
CUST_ID CREATED_DT END_DT
1 3/25/2013 6:51:33 PM
1 3/25/2013 6:23:58 PM 3/25/2013 6:51:33 PM
1 3/25/2013 5:02:07 PM 3/25/2013 6:23:58 PM
1 3/12/2013 9:18:21 AM 3/25/2013 5:02:07 PM
1 3/8/2013 12:47:13 PM 3/12/2013 9:18:21 AM
1 1/25/2013 7:24:02 AM 3/8/2013 12:47:13 PM
1 1/23/2013 11:26:31 AM 1/25/2013 7:24:02 AM
1 11/13/2012 8:55:31 AM 1/23/2013 11:26:31 AM
假設SQL Server:
UPDATE c
SET END_DT=(SELECT TOP 1 CREATED_DT FROM CustDates WHERE CUST_ID=c.CUST_ID AND
CREATED_DT>c.CREATED_DT ORDER BY CREATED_DT)
FROM CustDates c
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.