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

原创 2016年08月31日 11:51:23

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

SQL 子查询之查询所有主表的数据同时统计另一张表的与主表关联的数据

主表 从表 SQL(查询所有主表的数据同时统计另一张表的与主表关联的数据)select go.*,(select count(cc.id) from cook_comment as cc wh...

行转列或列转行写法

两种方式: /* 实现行转列 a name objec score a EN 89 a CH 78 a HO 99 b EN 34 b CH 88 b HO 66 要求输出...

eclipse显示jar文件

最近几天,下载了最新版的eclipse(Eclipse Neon.2),在使用过程中我想看看工程里到底引用了哪几个jar包, 没想到看不出来,最后研究了一下,选择Project Explorer—>(...

SQL SERVER 中 实现主表1行记录,子表多行记录 整合成一条虚拟列

表中有这样的记录,简单的主子表,现要想通过left join 语句把两表关联起来   select * from tbl_diary_reback a left join tbl_diary_re...

使用sql级联删除,删除主表的一条信息,有外键关系的子表的信息也随之删除

1、建库 if exists(select * from sysobjects where name='temp') drop database temp go create database...

SQL 子表多行字符拼接【mysql/sqlserver】

【Mysql】 group_concat()函数总结 group_concat(),手册上说明:该函数返回带有来自一个组的连接的非NULL值的字符串结果。 比较抽象,难以理解。 通俗点...

sql 将‘1,2,3,4’转成相应的表,字段分隔表值函数,一行变多行,

再设计表的时候我们经常遇到这样的情况,字段的值为1,2,3,4 等字符隔开的情况,存的是数字,但是显示的时候是对应的类别,直接上图,清楚明了, 如何想得到 分两步完成,步骤如下:...

如何将子表记录和主表记录在同一行显示

CREATE TABLE table1 (   id bigint NOT NULL,   name character varying(50),   CONSTRAINT table1_pk...
  • moliqin
  • moliqin
  • 2012年07月04日 15:29
  • 809

主表,从表,关联表,父表,子表

一、前言     在数据库设计中,Hibernate,iBatis等ORM框架的使用中经常听说主键,外键,主表,从表,关联表,父表,子表之类的术语,弄懂它们之前的区别与联系对于数据库设计和O...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sql将多行子表信息转成主表信息的列
举报原因:
原因补充:

(最多只允许输入30个字)