最近,开发了一个项目管理系统,一条项目可能有多个人进行管理,也就是有可能是一个项目经理管理4到5个项目成员,业务人员要求导出excel,需要在一行中能可看到项目的所有信息,包括项目编号、项目名称、项目经理、项目成员A等信息,我的数据库设计是这样的
项目信息主表:ID,项目编号、项目名称~~~~~
项目成员表:ID,Pid,成员名称(ProManager),~~~~ 表名:ProMembList
这是是个问题了,问度娘吧,也没有很好的解决方案!
最后,木办法了,用存储过程吧
1,按导出要求建立一个临时表a;
2,将项目主信息插入进去
3,依次读取主表的ID,将主表对应的项目成员插入临时表b
select identity(bigint,1,1) as id, Pid, ProManager into #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等