问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

请朋友们帮忙写出SQL语句.感谢!在线等!!

发布网友 发布时间:2023-02-09 11:38

我来回答

3个回答

热心网友 时间:2024-11-28 18:21

--建立测试数据
create table tb
(姓名 varchar(20) null,
费用类型 varchar(20) null,
费用金额 decimal null
)

go

insert into tb
select 'XM1','交通费',50
union all
select 'XM1','交通费',40
union all
select 'XM1','餐饮费',60
union all
select 'XM1','餐饮费',60
union all
select 'XM1','办公费',30
union all
select 'XM1','办公费',30
union all
select 'XM2','办公费',30
union all
select 'XM2','办公费',60

go

--查询语句
declare @sql varchar(8000)
set @sql = 'select 姓名 '
select @sql = @sql + ' , sum(case 费用类型 when ''' +费用类型+ ''' then 费用金额 else 0 end) [' + 费用类型 + ']'
from (select distinct 费用类型 from tb) as a
set @sql = @sql + ' from tb group by 姓名'
--print (@sql)
exec(@sql)

--------------------结果集------------------------------
姓名 办公费 餐饮费 交通费
-------------------- ---------------------------------------- ---------------------------------------- ----------------------------------------
XM1 60 120 90
XM2 90 0 0

--删除测试数据
drop table tb追问谢谢,非常感谢
我还要横向求和
姓名 交通费 餐饮费 办公费 ........总计
XM1 90 120 80 290
..
..

热心网友 时间:2024-11-28 18:22

SELECT A.姓名,
(SELECT SUM(费用金额) FROM 表 WHERE 姓名 = A.姓名 AND 费用类型 = '交通费') AS 交通费,
(SELECT SUM(费用金额) FROM 表 WHERE 姓名 = A.姓名 AND 费用类型 = '餐饮费') AS 餐饮费,
(SELECT SUM(费用金额) FROM 表 WHERE 姓名 = A.姓名 AND 费用类型 = '办公费') AS 办公费,
...
(SELECT SUM(费用金额) FROM 表 WHERE 姓名 = A.姓名) AS 总计
From
(SELECT DISTINCT 姓名 FROM 表) A

热心网友 时间:2024-11-28 18:22

1楼的不是写出来了嘛,合计在from前加个sum即可啊
set @sql = @sql + ', [合计]=sum(费用金额) from tb group by 姓名'
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
婴儿突然变的睡觉多了怎么办 宝宝奶量没增加但是睡眠时间变长怎么回事 孩子出现哪些行为时,意味着孩子进入到猛涨期?家长该做些什么? 1岁宝宝睡眠突然增多是怎么回事 李冰冰与自己小十六岁的男友感情稳定,你会介意找一个比自己小的人结婚... 二月份是什么星座呢 二月份的星座是什么座 十二星座对应月份 2月份是什么座是什么星座 2月份出生的什么星座 华为手机倒入vivo用不用拿手机卡 华为手机能装vivo的卡吗怎么装 手机为什么不能投屏到电视上了呢? 没有电话号码如何申请新 小孩几岁不落户要罚款 炖肘子放黄豆酱吗? 没有手机号可以注册吗? 如果想要注册一个新的,可自己还没有手机怎么注册? 没有手机号怎么注册 没有手机号码怎样注册新的码? 360借条怎么分期买东西 最新版QQ怎样退出游戏人生 “皮革鞣制”这四个字中的“鞣”字怎么读啊?鞣制是什么意思_百度... 梦见想见的人什么意思? qq钱包实名认证后能给手机号验证身份吗 手机号注册QQ要好友验证,但想刷掉搞到要实名认证的时候刚好输入错了手... 信用卡主卡和副卡是什么关系啊? 暗影精灵3拆机清灰后屏幕不亮是硬盘没插好吗 暗影精灵3屏幕闪屏 谁知道很久以前的一本写暗黑破坏神的小说? 个人中彩票交多少税? 信用卡一百多三年利息多少 信用卡35000分期三年利息8000多,利息高吗? 交通事故无责方理赔流程 反应时,能否将正丁醇加入到重铬酸钾溶液中来制备正丁醛?为什么?_百度知... 带语妙四字成语 怎么去掉QQ里面的手势解锁啊 京东分期商家能得到全款吗 怎么取公司名称不容易重复好听的未注册的公司名? 未注册的物流公司名字年轻有朝气的企业名字? 古代的渔网用什么材料制作而成 上海话不卖帐怎说 用本公司现金存入本公司的对公帐户,要填些什么单据? 元气骑士怎么检查更新 房贷二十万八年怎么算 中华民国三年袁大头一元的值多少钱 如果换新机vivocare怎么办 vivocare咸鱼买的需要登记手机号吗 vivocare服务保障是免费的吗 audusd是什么意思