找回密码
 立即注册

QQ登录

只需一步,快速开始

徐金8787

初级会员

28

主题

100

帖子

480

积分

初级会员

积分
480

[已处理] 行转列

徐金8787
初级会员   /  发表于:2021-10-22 13:32  /   查看:2867  /  回复:7
50金币
求助
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

您好,请问您行转列的最终需求是什么呢,如果是需要数据统计,可以直接通过数据透视表来实现,具体可以参考一楼的大佬的方法和思路。 如果是有比较特殊的需求需要写视图,可以参考一下这篇博客: SQL Server行转列、不确定列的行转列 - 农村的码农 - 博客园 (cnblogs.com)

7 个回复

正序浏览
一头老肥猪悬赏达人认证
注册会员   /  发表于:2021-10-22 14:47:39
7#
zyk.Zhou 发表于 2021-10-22 14:46
他的商品类是动态变化的,这样固定写死了是不行的。可以使用外联SQL Server去做,我印象中SQL Server是有 ...

看样子就只能有多少商品 照着添加吧。我也不知道动态地咋弄了
回复 使用道具 举报
zyk.Zhou活字格认证
论坛元老   /  发表于:2021-10-22 14:46:11
6#
一头老肥猪 发表于 2021-10-22 14:44
我这边写了一个视图,你可以在工程中创建一下哦
SELECT 时间,姓名,
sum(case when 商品类="G32" then 金 ...

他的商品类是动态变化的,这样固定写死了是不行的。可以使用外联SQL Server去做,我印象中SQL Server是有对应的函数的
回复 使用道具 举报
一头老肥猪悬赏达人认证
注册会员   /  发表于:2021-10-22 14:44:11
5#
我这边写了一个视图,你可以在工程中创建一下哦
SELECT 时间,姓名,
sum(case when 商品类="G32" then 金额 else 0 end) as G32,
sum(case when 商品类="G22" then 金额 else 0 end) as G22,
sum(case when 商品类="G27" then 金额 else 0 end) as G27,
sum(金额) as 金额
FROM "行表1"
group by 时间,姓名;
回复 使用道具 举报
zyk.Zhou活字格认证
论坛元老   /  发表于:2021-10-22 14:17:29
4#
回复 使用道具 举报
徐金8787
初级会员   /  发表于:2021-10-22 13:56:52
3#
我想实现后写入数据表2呢
回复 使用道具 举报
zyk.Zhou活字格认证
论坛元老   /  发表于:2021-10-22 13:37:47
2#
本帖最后由 zyk.Zhou 于 2021-10-22 13:49 编辑

数据透视表试试https://help.grapecity.com.cn/pa ... ion?pageId=56528984
先把金额字段类型改成整数

然后
如下设置数据透视表


效果如下



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
最佳答案
最佳答案
Chelsey.Wang讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-10-22 13:32:45
来自 8#
您好,请问您行转列的最终需求是什么呢,如果是需要数据统计,可以直接通过数据透视表来实现,具体可以参考一楼的大佬的方法和思路。
如果是有比较特殊的需求需要写视图,可以参考一下这篇博客:
SQL Server行转列、不确定列的行转列 - 农村的码农 - 博客园 (cnblogs.com)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部