sql server 2008 请教怎样生成序列号

dddadasd 2014-03-05 08:33:35
库下面有表“件”
“件”有序号列、项目列、卷号列、件号列和图号列
它们的关系如下图:

此图来自同一个表,我分开截图只是为了直观表达件号、图号、卷号和项目的关系
此图上的序号是我手动写入的
想要达到的目的是 根据以上条件 生成 “件”中的序号
非常感谢
...全文
350 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
dddadasd 2014-03-05
  • 打赏
  • 举报
回复
引用 7 楼 DBA_Huangzj 的回复:
换这个试试:
update 件 set 序号 =row_number()over(partition by 图号,项目 order by 卷号) where 件号 = '1' and 项目 ='X' and 卷号='0001'
您的语句 只能生成一行啊 卷好不只是0001 最大的是1320
dddadasd 2014-03-05
  • 打赏
  • 举报
回复
引用 7 楼 DBA_Huangzj 的回复:
换这个试试:
update 件 set 序号 =row_number()over(partition by 图号,项目 order by 卷号) where 件号 = '1' and 项目 ='X' and 卷号='0001'
發糞塗牆 2014-03-05
  • 打赏
  • 举报
回复
换这个试试:
update 件 set 序号 =row_number()over(partition by 图号,项目 order by 卷号) where 件号 = '1' and 项目 ='X' and 卷号='0001'
發糞塗牆 2014-03-05
  • 打赏
  • 举报
回复
update 件 set 序号 =row_number()over(partition by 图号,项目 order by 卷号) where 件号 = '1' and 图号='1' and 项目 ='X' and 卷号='0001' 这样呢?
dddadasd 2014-03-05
  • 打赏
  • 举报
回复
update 件 set 序号 ='2' where 件号 = '1' and 图号='2' and 项目 ='X' and 卷号='0001'
dddadasd 2014-03-05
  • 打赏
  • 举报
回复
引用 1 楼 DBA_Huangzj 的回复:
看的不是很懂,要不这样,你挑图中的其中一行,然后说一下最终希望的结果是怎样的,最好文本贴出来,特别是元数据
就是项目为“X” 卷号为0001的所有行生成序号 这个是我写的语句(只是为了表达意思,这个语句只能把项目 ='X' and 卷号='0001'的第一行写成'1' ) update 件 set 序号 ='1' where 件号 = '1' and 图号='1' and 项目 ='X' and 卷号='0001'
唐诗三百首 2014-03-05
  • 打赏
  • 举报
回复
鄙人不才,没看明白.
發糞塗牆 2014-03-05
  • 打赏
  • 举报
回复
回复请引用。
發糞塗牆 2014-03-05
  • 打赏
  • 举报
回复
看的不是很懂,要不这样,你挑图中的其中一行,然后说一下最终希望的结果是怎样的,最好文本贴出来,特别是元数据

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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