`

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进行交互的所有必要信息。该手册覆盖了从基本概念到高级主题的各种内容,包括支持的语言、标识符规则、数据类型定义以及各种...

    sql2000数据拆分

    具体来说,就是如何将一个包含逗号分隔值的字段拆分成多行记录。 ### SQL Server 2000 数据拆分技术 #### 1. **背景与目标** - **表结构**: 表`tb`具有两个字段:`id`和`value`。 - `id`: 唯一标识每条记录。 -...

    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 新建 ...

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

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

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

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

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

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

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

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

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

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

Global site tag (gtag.js) - Google Analytics