0 0

db2 多行一列 数据怎样 转换成 一行一列?5

db2 多行一列 数据怎样 转换成 一行一列?

问题补充:本人db2菜鸟

问题补充:希望大神能结合例子解释下
DB2 
2013年6月18日 13:00

1个答案 按时间排序 按投票排序

0 0

行转列么?尝试下case when

select f_user_id,f_user_name,f_real_name ,
max(case f_course_name when '廉洁从政' then if(f_get_hours>0,'完成','未完成') else 0 end) '廉洁从政',
max(case f_course_name when '情商开发与心理调适' then if(f_get_hours>0,'完成','未完成') else 0 end) '情商开发与心理调适',
max(case f_course_name when '公务员制度' then if(f_get_hours>0,'完成','未完成') else 0 end) '公务员制度',
max(case f_course_name when '国际金融与国家利益' then if(f_get_hours>0,'完成','未完成') else 0 end) '国际金融与国家利益',
max(case f_course_name when '高起点高质量地建设国际旅游岛' then if(f_get_hours>0,'完成','未完成') else 0 end) '高起点高质量地建设国际旅游岛',
max(case f_course_name when '网络与信息安全保密技术防范知识' then if(f_get_hours>0,'完成','未完成') else 0 end) '网络与信息安全保密技术防范知识' 
from tab_ucenter_archives_online_0107 where f_plan_id='633d2b53-c2c9-4677-8955-3a1c299b3fa3' 
and f_org_id='12c3aa962e1fd14a12827274fa891a97' group by f_user_id,f_user_name,f_real_name;

2013年6月18日 13:34

相关推荐

    DB2 SQL 实现行转列,列转行

    DB2 SQL 通过函数(CONCAT/POSSTR/LOCATE)实现行转列,列转行 可以按照标点把多列转换为一行,多行转换为一列

    db2_导入导出

    1. **DEL(界定的ASCII文件)**:通过行分隔符和列分隔符将数据分开。这是一种非常常见的格式,适合大多数情况下的数据传输。 2. **ASC(定长的ASCII文件)**:数据按照固定的长度排列,通常用于特定的应用场景。 3....

    DB2数据库用户手册

    - **类型转换函数**:DB2提供了多种类型转换函数,如`TO_CHAR`、`TO_DATE`等,用于将不同数据类型之间的转换。 - **存储过程的互相调用**:一个存储过程可以调用另一个存储过程,实现复杂的业务逻辑。 - **C存储过程...

    DB2使用经验积累

    - 游标是用于处理结果集的一行或多行数据的一种机制。在DB2中,可以通过声明游标并使用`FETCH`语句来逐行检索数据。 - 注意在使用游标时正确使用`COMMIT`和`ROLLBACK`来管理事务边界,避免数据不一致的问题。 - ...

    DB2使用经验积累及心得

    `获取下一行数据。 - `CLOSE cursor_name;`关闭游标。 - **注意commit和rollback**:在事务中,使用`COMMIT`提交更改,`ROLLBACK`回滚事务。 - **游标的两种定义方式**: - 使用`DECLARE CURSOR`声明游标。 - 或...

    根据相同的key合并值(行转列)

    这个过程旨在将具有相同标识键(key)的数据行聚合到一起,将多行数据转换为单行,并将对应的值转化为列的形式,以更直观地展示数据。 在数据库查询中,例如SQL,我们可以使用`GROUP BY`语句配合聚合函数(如`SUM`,...

    列换行

    标题“列换行”指的是在数据库操作或者数据处理过程中,将数据表中的一列或多列数据转换成多行展示的一种技术。这种技术在数据分析、报表生成或者数据迁移时非常常见,能够帮助我们更好地管理和理解数据。在给定的...

    SQL最佳实践

    在执行大量插入操作时,应该考虑一次性插入多行数据而不是单次插入一行。这样可以减少网络往返次数,提高插入速度。例如: ```sql INSERT INTO table_name (column1, column2, column3) VALUES (value1, value2, ...

    SQL Server纵表与横表相互转换的方法

    横表则与纵表相反,列多行少,每个属性在同一列中,但可能有多行数据。例如,如果有一个已经整理好的成绩表`Table_B`,其中包含每个学生的语文、数学和英语成绩,我们要将其转换回纵表形式,便于查看每个学生每一门...

    My Generation使用说明.pdf

    - **Retrieve one or more rows based on other criteria**:根据其他条件获取一行或多行。 - **Insert row**:插入新行。 - **Delete row**:删除行。 - **Update row**:更新行。 - **Get number of rows**:...

    2022年数据库系统概论之关系模型(共67张PPT).pptx

    关系模型的核心是关系,即二维表格,每个表格由多行多列组成,行代表记录,列代表属性。这种结构允许实体和实体之间的关系以行与行的关联形式直接表达,简化了数据的存储和查询。关系模型的操作主要包括选择(select...

    程序员的SQL金典.rar

     11.8.1 将结果集转置为一行  11.8.2 把结果集转置为多行  11.9 递归查询  11.9.1 Oracle中的CONNECT BY子句  11.9.2 Oracle中的SYS_CONNECT_BY_PATH()函数  11.9.3 My SQL Server和DB2中递归查询 附录A 常用...

    oracle实用教程

    子查询可以是单行子查询或多行子查询,分别对应于返回一行或多行结果的情况。 **Oracle中的伪列** 伪列(Pseudocolumn)并不是真正的列,而是Oracle数据库中的一种特殊概念,用于获取某些信息。常用的伪列包括: ...

    多种数据库的嵌入式SQL教程

    - **单行查询**:执行只返回一行记录的查询。 - **多行查询**:执行可能返回多行记录的查询。 - **插入、删除和修改操作**:执行DML语句。 - **SQLCA**:管理SQL语句执行的状态信息。 - **事务**:支持事务处理,...

    嵌入式SQL语言

    - **单行查询**:执行SELECT语句,只返回一行数据。 - **多行查询**:执行SELECT语句,返回多行数据。 - **插入、删除和修改操作**:执行INSERT、DELETE、UPDATE等操作。 - **SQLCA**:用于捕获SQL语句执行的状态。 ...

    超详细Oracle教程

    - **字符处理函数**:如UPPER、LOWER、TRIM等用于字符串转换和格式化的函数。 - **日期处理函数**:例如SYSDATE获取当前系统日期、ADD_MONTHS增加月份等日期计算函数。 - **数值处理函数**:如ROUND、TRUNC等用于...

    Mysql之SQL Mode用法详解

    对于非事务表,仅在多行语句的第一行出现错误时才放弃。 - **TRADITIONAL**: 类似于"传统"SQL系统,遇到错误时立即返回,放弃INSERT/UPDATE操作。但要注意,对于非事务引擎,部分更新可能无法回滚,可能导致数据不...

Global site tag (gtag.js) - Google Analytics