ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 773|回复: 1

[求助] 数据分组后,如何解决表1字段内容变成表2的字段?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2019-1-23 15:36 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
数据按照编号(编号唯一)进行分组,表1字段《标题》的值要变成表2的字段名,表1字段《数据》的值要填到表2相应的位置,如何使用SQL来实现,同时也想知道表2如何能够通过sql变成表1?把自己都说晕了,直接见图。
数据转换.png

数据转换.rar

4.56 KB, 下载次数: 4

TA的精华主题

TA的得分主题

发表于 2019-1-24 08:26 | 显示全部楼层
1. 语句:
方法一,使用交叉查询法:
TRANSFORM Max(表1.数据) AS 数据之最大值
SELECT 表1.编号, 表1.工作类别, 表1.业务类别, 表1.展示分类
FROM 表1
GROUP BY 表1.编号, 表1.工作类别, 表1.业务类别, 表1.展示分类
ORDER BY 表1.编号, 表1.工作类别, 表1.业务类别, 表1.展示分类, 表1.标题
PIVOT 表1.标题;

但注意问题:分列出来的标题的顺序是按首字拼音顺序的,当然,你也可以把这个SQL句先建个实体的查询(因交叉查询是不能做为子查询的),然后再做个SQL来引用这个实体的查询,来设定标题字段的顺序
方法二,使用条件语句Left Join法
    SELECT 查询_取唯一.*, 查询_任务名称.数据 AS 任务名称, 查询_负责人.数据 AS 负责人, 查询_完成日期.数据 AS 完成日期, 查询_是否完成.数据 AS 是否完成
FROM ((((SELECT Distinct 表1.编号, 表1.工作类别, 表1.业务类别, 表1.展示分类
FROM 表1)  AS 查询_取唯一 LEFT JOIN (SELECT  表1.编号,  表1.数据
FROM 表1 Where 表1.标题='任务名称' )  AS 查询_任务名称 ON 查询_取唯一.编号 = 查询_任务名称.编号) LEFT JOIN (SELECT  表1.编号,  表1.数据
FROM 表1 Where 表1.标题='负责人' )  AS 查询_负责人 ON 查询_取唯一.编号 = 查询_负责人.编号) LEFT JOIN (SELECT  表1.编号,  表1.数据
FROM 表1 Where 表1.标题='完成日期' )  AS 查询_完成日期 ON 查询_取唯一.编号 = 查询_完成日期.编号) LEFT JOIN (SELECT  表1.编号,  表1.数据
FROM 表1 Where 表1.标题='是否完成' )  AS 查询_是否完成 ON 查询_取唯一.编号 = 查询_是否完成.编号
ORDER BY 查询_取唯一.编号;


2.语句,使用联合语句法:
Select 联合查询01.编号,联合查询01.工作类别, 联合查询01.业务类别, 联合查询01.展示分类,联合查询01.标题,联合查询01.数据 from
(SELECT 1 AS 序, 表2.编号, 表2.工作类别, 表2.业务类别, 表2.展示分类,'任务名称' as 标题,表2.任务名称 as 数据
FROM 表2  
union all
SELECT 2 AS 序, 表2.编号, 表2.工作类别, 表2.业务类别, 表2.展示分类,'负责人' as 标题,  表2.负责人 as 数据
FROM 表2
union all
SELECT 3 AS 序, 表2.编号, 表2.工作类别, 表2.业务类别, 表2.展示分类,'是否完成' as 标题,  表2.是否完成 as 数据
FROM 表2
union all
SELECT 4 AS 序, 表2.编号, 表2.工作类别, 表2.业务类别, 表2.展示分类,'完成日期' as 标题,  表2.完成日期 as 数据
FROM 表2) as 联合查询01
order by 联合查询01.编号,联合查询01.序;
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-23 18:18 , Processed in 0.039864 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表