永发信息网

SQL 横向动态列

答案:5  悬赏:60  手机版
解决时间 2021-03-27 11:45
  • 提问者网友:趣果有间
  • 2021-03-27 06:27
SQL 横向动态列
最佳答案
  • 五星知识达人网友:逃夭
  • 2021-03-27 07:47
select id,name,max(case when id=y.id then alias else 0 end),
max(case when id=y.id then alias1 else 0 end)
from
(select a.id id,a.name name,b.alias,b.alias1 from tab1 a,tab2 b
where a.id=b.id) x,
tab 1 y

where x.id=y.id;
全部回答
  • 1楼网友:掌灯师
  • 2021-03-27 10:12
可以通过前端开发工具实现
如果用PB可以动态创建数据窗口,也可以预计一下最多的可能,通过显示/隐藏列的方法
  • 2楼网友:低血压的长颈鹿
  • 2021-03-27 08:57
用count(*) 查询出Alias 最多的ID, 假设是10个的话
再慢慢做吧,
做不到真正的动态。
  • 3楼网友:怙棘
  • 2021-03-27 08:50
先找出竖的,格式为ID,NAME
然后再行列转换
思路就是这样,代码太多,不高兴写了
  • 4楼网友:北方的南先生
  • 2021-03-27 08:44
竖着列很简单,但横着列很难做到,因为每个ID对应的alias是不确定的,也就是列没法确实是几列,这用SQL语句根本没法写。不明白为何要横着列?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯