有个这样的需求,A字段相同值记录,B字段不同值,希望B字段不同值根据A字段为依据转为列

lizg007 2020-06-28 12:12:20


哪位老师给个代码,可以实现呢。我实在是不会了。初学中,谢谢
...全文
131 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
RINK_1 2020-06-28
  • 打赏
  • 举报
回复
SELECT top 2000 freevalueid, max(case when assindex=0 then freevalueid else '' end) a, max(case when assindex=1 then freevalueid else '' end) b, max(case when assindex=2 then freevalueid else '' end) c from gl_freevalue GROUP BY freevalueid
lizg007 2020-06-28
  • 打赏
  • 举报
回复
ASSINDE 只有3 个值 0 1 2 我用case when 试了,SELECT top 2000 freevalueid, case when assindex=0 then freevalueid else '' end a, case when assindex=1 then freevalueid else '' end b, case when assindex=2 then freevalueid else '' end c from gl_freevalue GROUP BY freevalueid, assindex 得到的却是
向阳的花儿 2020-06-28
  • 打赏
  • 举报
回复
引用 1 楼 lizg007 的回复:
没有人回答啊。。。
你如果这张表assindex只可能为0,1,而且第一列就出现2次的话。那就非常简单了,用case when就可以 如果这这张表assindex有很多可能,而且第一列可能会出现很多次,那就得使用piviot和unpiviot进行行转列+动态sql了,实现起来比较麻烦 推荐你一篇文章, https://www.cnblogs.com/zhangzt/archive/2010/07/29/1787825.html
lizg007 2020-06-28
  • 打赏
  • 举报
回复
没有人回答啊。。。

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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