关闭

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

标签: sql 行转列
344人阅读 评论(0) 收藏 举报
分类:

最近,开发了一个项目管理系统,一条项目可能有多个人进行管理,也就是有可能是一个项目经理管理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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:216485次
    • 积分:2262
    • 等级:
    • 排名:第16600名
    • 原创:80篇
    • 转载:21篇
    • 译文:0篇
    • 评论:29条
    最新评论