SQL问题(在线等)

bobod2008 2008-08-26 07:38:02
我现在需要将数据库中表的数据进行修改,如
ID ERP_Code Document_No
1 100001943
2 2050000
3 1111030
4 5100200
5 3456000 100001944
6 1300000
修改后的数据为:
ID ERP_Code Document_No
1 100001943
2 2050000 100001943
3 1111030 100001943
4 5100200 100001943
5 3456000 100001944
6 1300000 100001944

请问 这样的SQL语句该如何去写,在线等··谢谢
...全文
124 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
rexyudl 2008-08-26
  • 打赏
  • 举报
回复
不知道楼主是什么数据库,若是ORACLE的话可以这么写,不过若该表的数据量较大效率会比较低。

SELECT ID,
ERP_CODE,
CASE
WHEN DOCUMENT_NO IS NOT NULL THEN
DOCUMENT_NO
ELSE
(SELECT DOCUMENT_NO
FROM TMPA A
WHERE A.ID = (SELECT MAX(ID)
FROM TMPA B
WHERE B.ID < TMPA.ID
AND DOCUMENT_NO IS NOT NULL))
END DOCUMENT_NO
FROM TMPA
ORDER BY ID;
fvflove 2008-08-26
  • 打赏
  • 举报
回复
用一句SQL搞定我不会.
以下代码你可以试一下.(代码未调试,请借鉴思路)



rs.Open "Select ID ERP_Code Document_No From Table order by ID asc" '先用此SQL 打开数据库 ,注意按ID升序排序.

if rs.recordcount>0 then '如果有数据进行以下操作
rs.MoveFirst '先移动至文件首行

bakData=rs.Fields("Document_No") '先将第一行的 Document_No 保存起来

rs.MoveNext '移动至下一条
while not rs.eof '如果未到文件尾
if len(rs.Fields("Document_No"))=0 then '如果记录是空的
rs.Fields("Document_No")= bakdata '等于上次保存后的值
else
bakData=rs.Fields("Document_No") '如果不为空,则保存最新值
end if
wend
end if

tongnaifu 2008-08-26
  • 打赏
  • 举报
回复

Create table #tmpA(ID int,ERP_Code varchar(100),Document_No varchar(100))
insert into #tmpA select 1,null,'100001943'
insert into #tmpA select 2,'2050000',null
insert into #tmpA select 3,'1111030',null
insert into #tmpA select 4,'5100200',null
insert into #tmpA select 5,'3456000','100001944'
insert into #tmpA select 6,'1300000',null
select * from #tmpA

Declare @ID int
,@maxID int
select @maxID=7
,@ID=1
while @ID<@maxID
Begin
update #tmpA set Document_No=
case when isnull(Document_No,'')=''
then
(select Document_No from #tmpA where ID=@ID-1 )
else
Document_No
end
where ID=@ID
select @ID=@ID+1
End
select * from #tmpA
drop table #tmpA
bobod2008 2008-08-26
  • 打赏
  • 举报
回复
也就是第三列有的是为空的,有的是有数据的,修改是将为空的填充数据,而这些数据来自与其相邻的上行的数据
tongnaifu 2008-08-26
  • 打赏
  • 举报
回复
不知所云,请写清楚修改后的表格满足什么条件?
jhone99 2008-08-26
  • 打赏
  • 举报
回复
表头与数据对应不好,看不明白

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧