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;
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可以动态创建数据窗口,也可以预计一下最多的可能,通过显示/隐藏列的方法
如果用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语句根本没法写。不明白为何要横着列?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯