2017-10-10 6 views
1

'Sum (PRSummaryMain.Revenue)'가져와 데이터베이스 'ClientCusttabfields.Cust12MonthRev 필드를 업데이트 문을이 선택 문을 만들려고합니다. '선언 된 SQL 필드 업데이트 절 합계 및 내부 조인

내가보기에 모든 것이 실패합니다.

declare @Now int, @12Month int, @lastMonth int, @day int 
set @DAY = DATEPART(dd,getdate()) 
set @Now = LEFT(CONVERT(varchar, GetDate(),112),6) 
set @12Month = iif(@day<20, @Now -102, @now-101) 
set @lastmonth = iif(@day<20,@Now - 2,@now-1) 

    select cl.Client, cl.ClientID, cl.Name, @12Month as 'Period-12months', @lastMonth as 'Period-lastmonth', 
SUM(PRSummaryMain.Revenue) as '12monthrev' 

From PRSummaryMain 
inner join PR on (PRSummaryMain.WBS1 = PR.WBS1 and PRSummaryMain.WBS2=PR.WBS2 and PRSummaryMain.WBS3=PR.WBS3) 

inner join CL on (PR.ClientID = CL.ClientID) 
inner join ClientCustomTabFields on (cl.ClientID = ClientCustomTabFields.ClientID) 

Where PRSummaryMain.WBS1 not like 'P%'and PRSummaryMain.WBS1 not like '%i%' and PRSummaryMain.Period >[email protected] and PRSummaryMain.period <[email protected] and ClientCustomTabFields.CustStrategicClient like 'y' 

group by cl.Client, CL.clientid, cl.Name 
order by cl.Name 
+0

당신이 뭘하려의 예를 추가 할 수 있습니다, 어떻게 실패를? –

+0

[SQL Server의 SELECT에서 UPDATE하는 방법] 가능한 복제본 (https://stackoverflow.com/questions/2334712/how-do-i-update-from-a-select-in-sql-server) –

답변

0
당신이 아래의 쿼리를 시도 할 수 있습니다

:

declare @Now int, @12Month int, @lastMonth int, @day int 
set @DAY = DATEPART(dd,getdate()) 
set @Now = LEFT(CONVERT(varchar, GetDate(),112),6) 
set @12Month = iif(@day<20, @Now -102, @now-101) 
set @lastmonth = iif(@day<20,@Now - 2,@now-1) 

select @Now , @12Month , @lastMonth , @day 

update c1 
set Cust12MonthRev= SUM(PRSummaryMain.Revenue) 
from 
    ClientCustomTabFields c1 
inner join CL 
    on (cl.ClientID = c1.ClientID) 
inner join PR 
    on (PR.ClientID = CL.ClientID) 
inner join PRSummaryMain 
    on (PRSummaryMain.WBS1 = PR.WBS1 and PRSummaryMain.WBS2=PR.WBS2 and PRSummaryMain.WBS3=PR.WBS3) 
Where 
    PRSummaryMain.WBS1 not like 'P%' 
    and PRSummaryMain.WBS1 not like '%i%' 
    and PRSummaryMain.Period >[email protected] 
    and PRSummaryMain.period <[email protected] 
    and c1.CustStrategicClient like 'y' 
group by cl.Client, CL.clientid, cl.Name