打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
SQL语句_行转列

表结构示例:

表名:WY_TEST

列:NO      NUMBER(2,0)

        A          VARCHAR2(20)

 

数据:

NO     A

1        作业内容1

2        tool1

3        1

4        作业内容2 

7        作业内容1

8        tool2

9        3

 

规则: 行号除3余1的为作业内容,余2的为工具编号,余3的为次数

要求:生成如下格式

NO      I_WORK               I_TOOL              I_CNT

1          作业内容1            tool1                    1 

2          作业内容2              

3          作业内容3            tool2                    3

 

SQL语句:

SELECT A.NO,MAX(A.I_WORK) I_WORK,MAX(A.I_TOOL) I_TOOL,MAX(A.I_CNT) I_CNT
FROM (
SELECT
CEIL(T.NO/3) NO,
CASE WHEN MOD(T.NO ,3) = 1 THEN T.A ELSE NULL END I_WORK,
CASE WHEN MOD(T.NO ,3) = 2 THEN T.A ELSE NULL END I_TOOL,
CASE WHEN MOD(T.NO ,3) = 0 THEN T.A ELSE NULL END I_CNT
FROM WY_TEST T ) A
GROUP BY A.NO
ORDER BY A.NO

 

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
MySql中delimiter的作用是什么?
MySQL分页性能优化指南 – 码农网
Oracle 12c 新特性:SQL Plan Directives与过量的动态采样解析
sql语句自动替换null值项
数据库实验系列之1数据库及数据库中表等数据库对象的建立实验(包括关系图、完整性、权限控制、视图、索引等内容)
用一条sql语句显示数据百分比并加百分号
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服