2016-04-14 33 views
0

我试图做联合查询和与我得到总和的联合查询 - 语法错误 - SQL服务器

Syntax error: incorrect syntax near ')'

代码:

select 
    sum(rate) 
from 
    (select 
     sum(UnitsDelivered * Rate) as rate 
    from 
     Reimbursement_EBSUtilization 
    where 
     PRR_Id = 1 

    UNION ALL 

    select 
     sum(Reimbursement_CDSUtilization.Rate * CDSUtilization.UnitsDelivered) as rate 
    from 
     Reimbursement_CDSUtilization 
    left join 
     CDSUtilization on Reimbursement_CDSUtilization.CDSU_Id = CDSUtilization.Id 
    where 
     Reimbursement_CDSUtilization.PRR_Id = 270 
)--syntax error is showing here 

我确信我很失去了一些东西小而无法弄清楚

+1

'其中Reimbursement_CDSUtilization.PRR_Id = 270 )x'您需要为您的子查询使用任意名称进行别名。 ''''后' –

+1

'尝试'作为t'其中t是一个别名 – Sachu

+0

哎呀我错过了。谢谢。有用。 :) –

回答

2

您需要别名子查询:

select sum(rate) from 
(
    select sum(UnitsDelivered*Rate) as rate 
    from Reimbursement_EBSUtilization 
    where PRR_Id =1 

    UNION ALL 

    select sum(Reimbursement_CDSUtilization.Rate * CDSUtilization.UnitsDelivered) as rate 
    from Reimbursement_CDSUtilization 
    left join CDSUtilization on Reimbursement_CDSUtilization.CDSU_Id = CDSUtilization.Id 
    where Reimbursement_CDSUtilization.PRR_Id = 270 
) as t -- <-- use alias here 
+0

谢谢。这工作:) –