mysql行转列的问题,在静态sql语句中实现动态行转列

www3232551 2017-07-11 02:41:46
如题,我现在的问题,想把一个表里的数据,行转成列,然后放到视图里,方便后面的人使用,请问能不能做

现在的做法是
select sum(if(name=2),name,0) as a, sum(if(name=3),name,0) as b,sum(if(name=4),name,0) as b from test(表名) group by parent
但这样如果在加一条数据,就会丢失掉加入的数据
请问有什么好的解决方案吗
...全文
654 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
LongRui888 2017-07-13
  • 打赏
  • 举报
回复
可以动态行转列,但是这个代码是不能当道视图中的,数据库视图不支持动态行转列,建议你用存储过程吧,但是存储过程又不能直接这样: select * from 存储过程 只能是在程序代码中执行存储过程,获取结果集,在显示厨具
zjcxc 2017-07-13
  • 打赏
  • 举报
回复
视图没办法是动态的
ACMAIN_CHM 2017-07-12
  • 打赏
  • 举报
回复
http://blog.csdn.net/acmain_chm/article/details/4283943 MySQL交叉表 在某些数据库中有交叉表,但在MySQL中却没有这个功能,但网上看到有不少朋友想找出一个解决方法,特发贴集思广义。http://topic.csdn.net/u/20090530/23/0b782674-4b0b-4cf5-bc1a-e8914aaee5ab.html?96198现整理解法如下:数据样本: create table tx( id int primary key, c1 c...

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧