永发信息网

MS sql server 2005 数据查询语句如何写?

答案:5  悬赏:0  手机版
解决时间 2021-08-11 15:58
表名  table_1id name kumu fenshu 1 zs yuwen 232 3 ls shuxue 32 4 zs shuxue 12 5 ls lishi 343 6 ww yuwen 1245 8 zs lishi 121

写出sql语句,查询结果如下: name  yuwen shuxue lishi   zl       232     12      121  ls     0        32   343   ww    1245     0        0请问改如何书 ms sql 2005数据库.
最佳答案
select id,name,kumu,fenshu from table_1
全部回答

SELECt NAME , a.[yuwen],a.[shuxue].a.[lishi]

from table-1

pivot ( sum(fenshu) for kumu in ([yuwen],[shuxue],[lishi])) as a

典型的交叉表应用(即行列转换)

SELECt [NAME], SUM(CASE KUMU WHEN 'YUWEN' THEN FENSHU ELSE 0 END) AS YUWEN, SUM(CASE KUMU WHEN 'SHUXUE' THEN FENSHU ELSE 0 END) AS SHUXUE, SUM(CASE KUMU WHEN 'LISHI' THEN FENSHU ELSE 0 END) AS LISHI FROM table_1 GROUP BY [NAME]

执行结果

直接运用数据库语句select id,name,kumu,fenshu from table_1

写的有点复杂,但能实现你要的效果,而且效率很底,建议你用存储过程比较好。

select (select fenshu from table_1 where (name=a.name) and (kemu='yuwen')) yuwen, (select fenshu from table_1 where (name=a.name) and (kemu='shuxue')) shuxue, (select fenshu from table_1 where (name=a.name) and (kemu='lishi')) lishi from table_1 a where (a.name in (select name from table_1)) group by a.name

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
结婚,找个爱自己的就可以吗?
要怎么睡觉很舒服
昆明市成人高考就读形式?
魔域什么成神?
知道他的Q、但不想加为好友、能够回答他的问
10年前左右看的一个电影是外国的 讲的是 男的
怎么在我家玩DNF会出现安全模式,也没中病毒
郧西县十堰老观庙村村地址在哪里啊
跑车的车门需要钥匙开吗?
石埠中学老师名单陆文光
谁能送我个八卦掌碑文?
眼睛周围出现细纹,眼角有斑,我该怎么办?什
为什么有时候电脑开了机但是屏幕怎么也开不了
怀孕初期的奶水是有营养的还是有毒的啊?
失去亲人,我将何去何从
推荐资讯
dnf第八章柔道的裂石破天和觉醒各点几
iPhone为何连接了wifi却不能上网
联颊跟前额经常长豆豆怎么办
谁知道关于街舞的电影和电视剧灬拿出来分享下
帮我找一首歌曲。
药吃多了会不会有什么反应,就老是恶心的感觉
谁给我点爱墙图标
驿城区驻马店正宗塔桥猪蹄(雪松路花园店)地址
为什么爱一个人总是会伤心呢!
QQ空一进去就开死
我想找一份喷漆管理
1991年农历6月25曰女性是什么星座
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?