`

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

 
阅读更多

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

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

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

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

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

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

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

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

select identity(bigint,1,1) as id, Pid, ProManagerinto #b from ProMembListwhere 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 Server将一列的多行内容拼接成一行的实现方法

    昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我想将一个表的一个列的多行内容拼接成一行,比如表中有两列数据 : 类别 名称 AAA 企业1 AAA 企业2 AAA 企业3 ...

    sql 多行合并某一列字符串拼接的示例

    在SQL中,将多行数据合并为一行,尤其是在某一列进行字符串拼接,是一项常见的需求。这通常用于汇总数据、创建报表或者为了分析目的而整合信息。本文将深入探讨如何利用SQL实现多行数据的合并,特别关注字符串拼接的...

    SQL,逗号分开列

    将表中,一个复杂的列,拆成单独的列,更方便筛选和匹配。

    HANA SQL参考手册

    HANA SQL参考手册是为SAP HANA数据库设计的全面指南,旨在提供关于如何使用SQL语言与HANA进行交互的所有必要信息。该手册覆盖了从基本概念到高级主题的各种内容,包括支持的语言、标识符规则、数据类型定义以及各种...

    10.sql.server.2005.多表查询和子查询

    在SQL Server 2005中,多表查询和子查询是数据库操作的重要组成部分,用于从多个相关的数据源中获取信息。这些技术是数据分析和业务智能的基础,对于数据库管理员和开发人员来说至关重要。 多表查询,也称为联接...

    SQL合并一列

    在SQL Server中,可以通过这种方式轻松地将多行数据转换为单行数据,实现列的合并。 #### 3. 示例代码解析 提供的示例代码展示了如何使用`FOR XML PATH`来合并一列数据: ```sql SELECT -- 使用STUFF函数去除第...

    oracle 行转列

    在Oracle数据库中,"行转列"是一种常见的数据处理需求,它将多行数据转换为单行的多个列,使得数据展示更为清晰、简洁。这种操作通常涉及到SQL查询中的PIVOT函数,它是Oracle 11g引入的新特性,极大地增强了SQL的...

    Oracle行转列之pivot

    行转列(PIVOT)操作主要用于将多行数据根据某些字段进行聚合,并将结果转换为列,每个列代表聚合数据的不同范围。例如,如果有一个员工表(emp),其中包含部门号(deptno)、职位(job)和薪水(sal),行转列操作...

    Oracle sql语句多表关联查询

    本文将详细介绍 Oracle SQL 语句多表关联查询的知识点,包括字符串和数字的比较、分组查询、HAVING 子句、查询顺序、Oracle 中的伪列、子查询和表连接等。 一、字符串和数字的比较 在 Oracle 中,字符串和数字可以...

    sql子查询说明

    这里,子查询`SELECT COUNT(*) FROM students s WHERE s.class_id = c.id`计算每个班级的学生人数,并将结果作为新的列`student_count`返回。 #### 五、子查询与连接查询的区别 虽然子查询可以替代连接查询实现...

    oracle将以逗号分隔字符串转多行

    例如,'徐风年'的`teststr`是'洛阳,贾家嘉,姜姒,鱼幼薇,裴南苇,红薯',这些值将在查询中被拆分成多行。 6. **查询结果**: 最终的查询将返回每个`name`对应的`teststr`中的每个元素,以单独的行显示,不再包含逗号...

    SQL:第六章_子查询.ppt

    正确做法是使用 IN, ANY 或 ALL 运算符与多行子查询配合,确保与主查询的比较操作符合预期。 总的来说,熟练掌握子查询对于 SQL 查询的灵活性和效率至关重要。理解并正确应用各种类型的子查询,可以帮助我们更有效...

    SQL语句集锦.rar

    多列的行转列.sql 多行补充.sql 多表对多表进行统计.txt 大小写转换.txt 子查寻和内联查寻.txt 学生名次.txt 嵌套游标的使用.txt 拷贝表格.txt 排序.txt 断开并更改数据库名称.txt 新建 文本文档 (6).txt 新建 ...

    oracle实现行转列功能,并使用逗号进行隔开拼接,成为一条数据.pdf

    Oracle 中实现行转列功能,并使用逗号进行隔开拼接,成为一条数据是指将多行数据合并成一行数据,并用逗号分隔每个字段的值。这种功能在实际应用中非常有用,例如在报表生成、数据分析和数据整合等场景中。 在 ...

    SQL之分组统计和子查询专题

    在FROM子句中,子查询主要过滤多行多列的情况,当然也可以包含WHERE过滤的三种情况。 在ORDER BY子句后的子查询,貌似是只能出现单行单列或单行多列的结果集。 IN、ALL、ANY操作符 在子查询中,IN、ALL、ANY操作...

    数据库开发 Oracle数据库 SQL开发教程 第07章 子查询(共49页).pdf

    单行子查询返回一行一列的结果,多行子查询返回多行的结果,而多列子查询则返回多行多列的数据。 3. **子查询的位置**:子查询可以出现在SQL的不同子句中,包括: - **WHERE子句**:在筛选条件中使用子查询,比如...

    用子表的方式解决ireport相同列合并问题

    在子报表中,需要添加主报表传递过来的参数,并在SQL查询语句中使用这些参数,以根据主报表的数据来筛选子报表的数据。同时,在子报表上添加要显示的对象,比如文本框等,以便显示接收到的参数值。别忘了设置显示...

    很有意思的SQL多行数据拼接

    在SQL查询中,有时我们需要将多行数据拼接成单行,这在处理报告或展示数据时非常有用。本文将探讨一种有趣的SQL技术,利用`OUTER APPLY`和`FOR XML AUTO`来实现多行数据的拼接。这种方法在SQL Server 2005及更高版本...

    Oracle Sql基础 Oracle Sql基础 Oracle Sql基础

    - 多行子查询返回多个值,可以使用IN、ANY/SOME、ALL等操作符与之配合使用。 #### 七、操纵数据 **7.1 学习目的** - 本章主要讲解如何使用数据操纵语言(DML)来进行数据的插入、更新和删除等操作。 **7.2 数据...

Global site tag (gtag.js) - Google Analytics