SQL 如何查询时 竖着的数据 横着显示??
姓名科目分数王明数学100王明语文100王明英语100显示成姓名数学语文英语王明100100100...
姓名 科目 分数
王明 数学 100
王明 语文 100
王明 英语 100
显示成
姓名 数学 语文 英语
王明 100 100 100 展开
王明 数学 100
王明 语文 100
王明 英语 100
显示成
姓名 数学 语文 英语
王明 100 100 100 展开
2个回答
展开全部
你这个是将纵表转换为横表,例如如下数据:
'wangming', 'shuxue', 100
'wangming', 'yuwen', 90
'wangming', 'yingyu', 140
可以使用如下语句处理:
select a.v_name,a.v_score shuxue,b.v_score yuwen,c.v_score yingyu from temp_1 a,temp_1 b,temp_1 c
where a.v_name=b.v_name
and a.v_name=c.v_name
and a.v_name='wangming'
and a.v_course='shuxue'
and b.v_course='yuwen'
and c.v_course='yingyu';
'wangming', 'shuxue', 100
'wangming', 'yuwen', 90
'wangming', 'yingyu', 140
可以使用如下语句处理:
select a.v_name,a.v_score shuxue,b.v_score yuwen,c.v_score yingyu from temp_1 a,temp_1 b,temp_1 c
where a.v_name=b.v_name
and a.v_name=c.v_name
and a.v_name='wangming'
and a.v_course='shuxue'
and b.v_course='yuwen'
and c.v_course='yingyu';
展开全部
select name,
sum(case when subject='数学' then score else 0 end) as '数学',
sum(case when subject='语文' then score else 0 end) as '语文',
sum(case when subject='英语' then score else 0 end) as '英语'
from table group by name
最好有学号区分,如果重名就不好弄了
sum(case when subject='数学' then score else 0 end) as '数学',
sum(case when subject='语文' then score else 0 end) as '语文',
sum(case when subject='英语' then score else 0 end) as '英语'
from table group by name
最好有学号区分,如果重名就不好弄了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |