表格包含issue_date
,part_num
和date_received
的列。
如果issue_date
为null
,我想选择issue_date
part_num + 1
(下一个部分编号),并将其插入issue_date
列没有发行日期的部分。
part_num
是顺序的。
什么sql语句会选择然后插入适当的发布日期?
提前感谢您的帮助。
用一点点自我加入声明想出来..如果你愿意,谢谢你删除!!
答案 0 :(得分:2)
试试这个:
update t
set t.issue_date = (select issue_date
from t t1
where t1.part_num = t.part_num+1)
where t.issue_date is null
但是,如果下一个部件号也没有issue_date,这将在issue_date中进行ramain null。要解决此问题,您可以将查询更改为此问题(如果它适合您的应用程序):
update t
set t.issue_date = (select min(issue_date)
from t t1
where t1.part_num > t.part_num)
where t.issue_date is null