2017-10-10 6 views
1

このSELECT文を '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 
関連する問題