[Err] 42000 - [SQL Server]关键字 'SELECT' 附近有语法错误。 42000 - [SQL Server]')' 附近有语法错误

SELECTvDepartmentID,vFinanceRelation,sum(tsw.tsw_welfare_amount)as'绩效奖金',sum(CASEWHEN... SELECT vDepartmentID,vFinanceRelation,
sum(tsw.tsw_welfare_amount)as'绩效奖金',
sum(CASE WHEN tsw.tsw_welfare_name = '40288a6a5678c616015678dead580020' THEN
tsw.tsw_welfare_amount ELSE 0 END )as '中夜班',

sum(CASE WHEN tsw.tsw_welfare_name = '40288a6a5678c616015678decf360022' THEN
tsw.tsw_welfare_amount ELSE 0 END )as '加班费',

SELECT vDepartmentID,vFinanceRelation,
sum(tsw.tsw_welfare_amount)as'绩效奖金',
sum(CASE WHEN tsw.tsw_welfare_name = '40288a6a5678c616015678dead580020' THEN
tsw.tsw_welfare_amount ELSE 0 END )as '中夜班',

sum(CASE WHEN tsw.tsw_welfare_name = '40288a6a5678c616015678decf360022' THEN
tsw.tsw_welfare_amount ELSE 0 END )as '加班费',
sum(CASE WHEN tsw.tsw_welfare_name = '40288a6a5678c616015678df110a0024' THEN
tsw.tsw_welfare_amount ELSE 0 END )as '值班费',
sum(CASE WHEN tsw.tsw_welfare_name = '40288a6a5678c616015678df3bfa0026' THEN
tsw.tsw_welfare_amount ELSE 0 END )as '有毒作业',
sum(CASE WHEN tsw.tsw_welfare_name = '40288a6a5678c616015678df72ad0028' THEN
tsw.tsw_welfare_amount ELSE 0 END )as '吸尘费',
sum(CASE WHEN tsw.tsw_welfare_name = '40288a6a5678c616015678dfaf4d002a' THEN
tsw.tsw_welfare_amount ELSE 0 END )as '防暑降温费',
sum(CASE WHEN tsw.tsw_welfare_name = '40288a6a5678c616015678e003d5002c' THEN
tsw.tsw_welfare_amount ELSE 0 END )as '集中供热采暖补助',
sum(CASE WHEN tsw.tsw_welfare_name = '40288a6a5678c616015678e046dd002e' THEN
tsw.tsw_welfare_amount ELSE 0 END )as '冬季采暖补助',
count(*) AS number,
count(SELECT tsw.tsw_empolyee_id WHERE tsw.tsw_welfare_type='40288a6a5678c616015678dcc2a60010')
FROM T_Employee te
INNER JOIN T_Salary_Welfare_Other tsw ON te.vEmployeeID = tsw.tsw_empolyee_id

GROUP BY vDepartmentID,vFinanceRelation
展开
 我来答
发生等将发生
2016-10-28 · TA获得超过478个赞
知道小有建树答主
回答量:653
采纳率:75%
帮助的人:327万
展开全部
表面看没看出错误,是不是这句
count(SELECT tsw.tsw_empolyee_id WHERE tsw.tsw_welfare_type='40288a6a5678c616015678dcc2a60010')

我没有这么用过,我们尝试修改下看看,改成下面
sum(case tsw.tsw_welfare_type when '40288a6a5678c616015678dcc2a60010' then 1 else 0 end)
追问
没有错了,但是查询结果为0,没有得到我想查找的人数
追答
40288a6a5678c616015678dcc2a60010是不是这个没有值?
sum用于计算,里面的内容只要是tsw.tsw_welfare_type 等于40288a6a5678c616015678dcc2a60010的,都返回1,然后由sum累加,这个应该是没有问题的,你检查下数据
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式