sql将一行数据显示成一列的方法

sql将一行数据显示成一列的方法,第1张

这个不能用视图完成,因为视图是基本固定的结构,应该用存储过程,网上搜一下行列转换存储过程另外,数据都是在程序中使用,在程序中写代码反而更方便,比存储过程还好用,快,方便 。如果你硬要一个视图,我试写一下把 tb改成你的表名吧。select id ,(select name from tb where id = xid and name ='a') as namea,(select name from tb where id = xid and name ='b') as nameb,(select name from tb where id = xid and name ='c') as namec,from tb x group by id

这段时间要弄财务报表,遇到了一个动态行转列的问题,数据库用的是mysql的。感觉mysql实现动态行转列比mssql复杂多了。网上的都是处理的一个表(比较简单),而我要处理的数据来自于多个表,对于行转列的行也要进行一定的过滤处理,最后在自己的努力下,总算出来啦,附件是完整代码。这两个存储过程都是带输入参数的,一个对要转的行有处理,一个没有处理,两个例子,都放出来,希望可以给遇到同样问题的朋友一些帮助。

首先我们需要在mysql管理工具上面新建一个表,也可以用mysql命令创建,表建立完成之后,你需要将表中的字段名字告诉给填写excel表的人员

打开excel表,按照程序提供的字段填写相应的数据此时注意下面几点:名字(我用红色标示出来了)需要跟程序提供的一样,其他的描述,表头可以不写都行

我使用的mysql管理工具是Navicat

for

MySQL,打开工具,选择表所在的数据库,然后点击数据库名字,右键数据,出来下拉菜单选择import

wizard

,有汉化版本的更明确d出一个选择界面,我们选择excel

file文件

点击next(下一步),我们选择我们对应的excel文件就行,然后再下面选在我们的文件内容在哪一个sheet中,也就是你的内容写在excel什么地方,这点需要注意,也是关键的地方,我的内容在sheet3中,所以我选择sheet3

,如图:

点击next

(此步骤也是关键步骤),需要注意2点:

1:filed

name

row

就是你的字段所在excel中的位置,也就是第几行(简单办法,一般就是英文对应的那一列)2:first

data

row(从哪一行开始执行),数据从哪一行开始呢,我这里选择的是3,4

点击next

我们选择

target

table

目标对应的数据库,选择你要导入到哪个数据库中表中

如果到上面一步没有问题的话,我们默认next到最后

就行了然后打开表就能看到数据跟excel表中的一样

以上就是关于sql将一行数据显示成一列的方法全部的内容,包括:sql将一行数据显示成一列的方法、MySQL数据库动态行转列、excel表格中数据怎么变成数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/10194524.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存