0
我有一個查詢給了我一些數據。我有12 months
說。但它會更新該列中的數據說month12
(因爲當前月份是十二月)獲取需要更新的動態月份(列名)
有基於每個月12 columns
。這裏是我的查詢,
在我的選擇查詢,我需要找到哪個月的列需要更新。
下面是我的查詢
select --a.emp_mkey,
@Total_day = Sum(total_day),
@Days_worked = Sum(days_worked)
from emp_mon_day a
where a.emp_mkey = @emp_card_no
and a.month = @actualMonth and Year = @actualYear
group by emp_mkey
if(@Days_worked > 0)
BEGIN
set @actualleavedays =((1.75)/@Total_day) * (@Days_worked)
END
print @actualleavedays
我使用SQL - server 2005
UPDATE
所以會來何年何月在這裏 - MONTH1,MONTH2,......? ?
-- update p_leave_allocation_14122015 a
-- set a.month1 = 8.18
-- where year = a.actualYear and a.emp_card_no = @emp_card_no
如果您想查看整個過程,請告訴我們。
您可以使用動態SQL語句 申報@sql =「更新X設置月」 +轉換(nvarchar的, DATEPART(mm,GETDATE()))+'=? ...............' exec –
@AhmedGalal:我已經宣佈所有12個月的聲明區域,但爲了動態獲取它,我請確認。 – BNN
生成你的sql命令爲字符串並執行它 –