示例数据:
档案号 考试序号 姓名 单位
-------------------------------------------------------------
NULL 330009 韦兵 北京一中
NULL 588359 韦兵 北京一中
NULL 731362 韦兵 北京一中
NULL 980222 韦兵 北京一中
8000330009 1296508 韦兵 北京一中
8000330009 1540863 韦兵 北京一中
NULL 330080 冯义 北京一中
NULL 981798 冯义 北京一中
NULL 329961 勇韦 北京一中
NULL 588295 勇韦 北京一中
NULL 731306 勇韦 北京一中
NULL 329972 中甘 北京一中
NULL 588313 中甘 北京一中
NULL 588313 中甘 北京一中
NULL 731317 中甘 北京一中
NULL 980223 中甘 北京一中
8000329972 1296509 中甘 北京一中
8000329972 1540864 中甘 北京一中
期望数据结果:
档案号 考试序号 姓名 单位
-------------------------------------------------------------
8000330009 330009 韦兵 北京一中
8000330009 588359 韦兵 北京一中
8000330009 731362 韦兵 北京一中
8000330009 980222 韦兵 北京一中
8000330009 1296508 韦兵 北京一中
8000330009 1540863 韦兵 北京一中
NULL 330080 冯义 北京一中
NULL 981798 冯义 北京一中
NULL 329961 勇韦 北京一中
NULL 588295 勇韦 北京一中
NULL 731306 勇韦 北京一中
8000329972 329972 中甘 北京一中
8000329972 588313 中甘 北京一中
8000329972 588313 中甘 北京一中
8000329972 731317 中甘 北京一中
8000329972 980223 中甘 北京一中
8000329972 1296509 中甘 北京一中
8000329972 1540864 中甘 北京一中说明:根据用户名字和单位,查询出档案号(若不为null),填充到用户档案号中。请教,该如何完成,谢谢。
档案号 考试序号 姓名 单位
-------------------------------------------------------------
NULL 330009 韦兵 北京一中
NULL 588359 韦兵 北京一中
NULL 731362 韦兵 北京一中
NULL 980222 韦兵 北京一中
8000330009 1296508 韦兵 北京一中
8000330009 1540863 韦兵 北京一中
NULL 330080 冯义 北京一中
NULL 981798 冯义 北京一中
NULL 329961 勇韦 北京一中
NULL 588295 勇韦 北京一中
NULL 731306 勇韦 北京一中
NULL 329972 中甘 北京一中
NULL 588313 中甘 北京一中
NULL 588313 中甘 北京一中
NULL 731317 中甘 北京一中
NULL 980223 中甘 北京一中
8000329972 1296509 中甘 北京一中
8000329972 1540864 中甘 北京一中
期望数据结果:
档案号 考试序号 姓名 单位
-------------------------------------------------------------
8000330009 330009 韦兵 北京一中
8000330009 588359 韦兵 北京一中
8000330009 731362 韦兵 北京一中
8000330009 980222 韦兵 北京一中
8000330009 1296508 韦兵 北京一中
8000330009 1540863 韦兵 北京一中
NULL 330080 冯义 北京一中
NULL 981798 冯义 北京一中
NULL 329961 勇韦 北京一中
NULL 588295 勇韦 北京一中
NULL 731306 勇韦 北京一中
8000329972 329972 中甘 北京一中
8000329972 588313 中甘 北京一中
8000329972 588313 中甘 北京一中
8000329972 731317 中甘 北京一中
8000329972 980223 中甘 北京一中
8000329972 1296509 中甘 北京一中
8000329972 1540864 中甘 北京一中说明:根据用户名字和单位,查询出档案号(若不为null),填充到用户档案号中。请教,该如何完成,谢谢。
left join (select 档案号,姓名,单位 from table where 档案号 is not null group by 档案号,姓名,单位) b on a.姓名=b.姓名 and a.单位=b.单位
set [档案号]=(select MAX([档案号]) from tb where [姓名]=t.[姓名] and [单位]=t.[单位])
from tb as t
where t.[档案号] is null
left join (select 档案号,姓名,单位 from table where 档案号 is not null group by 档案号,姓名,单位) b on a.姓名=b.姓名 and a.单位=b.单位
where a.档案号 is null
select 语句都给出来了 自己变一下就成update语句了
tb换成你的表名,t是别名不用管。
set [档案号]=(select TOP 1 [档案号] from tb where [姓名]=t.[姓名] and [单位]=t.[单位] AND [考试序号]>t.[考试序号] AND [档案号] IS NOT NULL ORDER BY 考试序号 ASC)
from tb as t
where t.[档案号] is null
顶你个肺啊……
UPDATE tb a,(SELECT [姓名],[单位],MAX([档案号]) AS [档案号] FROM tb GROUP BY [姓名],[单位]) b
SET a.[档案号]=b.[档案号]
WHERE a.[姓名]=b.[姓名] AND a.[单位]=b.[单位] AND a.[档案号] IS NULL