sql将多行子表信息转成主表信息的列

最近,开发了一个项目管理系统,一条项目可能有多个人进行管理,也就是有可能是一个项目经理管理4到5个项目成员,业务人员要求导出excel,需要在一行中能可看到项目的所有信息,包括项目编号、项目名称、项目经理、项目成员A等信息,我的数据库设计是这样的

项目信息主表:ID,项目编号、项目名称~~~~~

项目成员表:ID,Pid,成员名称(ProManager),~~~~ 表名:ProMembList

这是是个问题了,问度娘吧,也没有很好的解决方案!

最后,木办法了,用存储过程吧

1,按导出要求建立一个临时表a;

2,将项目主信息插入进去

3,依次读取主表的ID,将主表对应的项目成员插入临时表b

select identity(bigint,1,1) as id, Pid, ProManageinto #b from ProMembList where Pid = 主表的ID

上面这句话主要是为了重新设置ID,进行排序

update #a set #a.ProManager = (select ProManager from #b where id = 1), #a.ProManagerA=(select ProManager from #b where id = 2) where #a.ID = 主表的ID

4,依次修改临时表a中的项目经理,项目成员A等

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值