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多表查询之三:子查询IN

关于使用子查询IN,给大家一个小忠告:子查询IN适合外结果集大,子查询结果集小的情况,千万不能滥用子查询IN,您一定要保证子查询所返回的结果集尽量的小,哪怕你的SQL返回记录数只有1条,如果你使用到了...
  • cynhafa
  • cynhafa
  • 2011年10月25日 23:55
  • 5935

sql 联合查询子表时间最新的数据

主表: table1 (uniqueid,name) table2(uniqueid,tbl1_uniqueid,loginTime) table1 数据 uniqueid  name...
  • yingying0708
  • yingying0708
  • 2015年07月21日 16:38
  • 3904

[数据库] SQL查询语句表行列转换及一行数据转换成两列

本文主要讲述了SQL查询语句表之间的行列转换,同时也包括如何将一行数据转换成两列数据的方法、子查询的应用、decode函数的用法。希望文章对你有所帮助~ 1.创建数据库表及插入数据 2.子查询统计不同...
  • Eastmount
  • Eastmount
  • 2016年01月22日 05:03
  • 17053

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

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

SQL-找出子表中时间最接近当前的数据

--获取所有的模块和模块下最新添加的按钮信息 SELECT * FROM ( --获取按钮表中按模块ID分组后时间最新的一个按钮添加数据 SELECT T.* FROM ( SELECT B....
  • yhyhyhy
  • yhyhyhy
  • 2016年12月23日 09:54
  • 1533

2017最新影响因子Excel表

  • 2017年07月02日 10:15
  • 1.01MB
  • 下载

SQL查询主表数据和子表部分数据统计

查询 子表中,不同的类型统计,
  • qq_22673717
  • qq_22673717
  • 2017年12月20日 19:52
  • 106

地球人注意了,键列信息不足或不正确,更新会影响到多行

在对sql server的表操作时经常会遇到“键列信息不足或不正确,更新影响到多行”这样的错误,搞了半天,查了半天,这一天时间就快没了,网上还各种奇葩的说法,我终于发现,现在很多东西都不是自己想要的,...
  • asd19920126
  • asd19920126
  • 2013年08月26日 20:28
  • 8966

easyui中最新版本的TreeGrid同步树形表格、同步加异步树形表格、树形表格分页且异步查看子节点

easyui中最新版本的TreeGrid同步树形表格、同步加异步树形表格、树形表格分页且异步查看子节点...
  • u011097980
  • u011097980
  • 2017年01月13日 17:16
  • 2342

帝国cms循环列出所有子栏目名,和当前子栏目下的文章列表和所有栏目信息数

$mesql=$empire->query("select bclassid,classname,classid,sonclass,classpath from {$dbtbpre}enewsclas...
  • bzxcl
  • bzxcl
  • 2016年01月21日 12:54
  • 259
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sql将多行子表信息转成主表信息的列
举报原因:
原因补充:

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