2014-04-12 33 views
0

我想在我的SQL Server 2012中執行的兩行代碼參數:聲明變量,然後設置爲第二

SELECT SUM(paid) AS sumpaid FROM clipaid WHERE event='010101-01' AND year=2014; 
UPDATE event SET totalpaid = sumpaid WHERE event='010101-01' AND year=2014 

在第一行,我想聲明變量sumpaid和更新這個變量作爲第二個statemnt中的參數。

我得到這個錯誤:Invalid column name 'sumpaid'

有什麼辦法來實現這一目標?

感謝您的時間和建議。

回答

3

你需要聲明一個變量

declare @sumpaid int 
SELECT @sumpaid = SUM(paid) FROM clipaid WHERE event='010101-01' AND year=2014; 
UPDATE event SET totalpaid = @sumpaid WHERE event='010101-01' AND year=2014 
1

你需要聲明一個變量這樣的:

declare @varSumPaid int 

,它看重這樣的分配:

SELECT @varSumPaid = SUM(paid) 
FROM clipaid 
WHERE event='010101-01' 
AND year=2014; 

並在更新查詢中使用它是這樣的:

UPDATE event 
SET totalpaid = @varSumPaid 
WHERE event='010101-01' 
AND year=2014;