確定我的頭可能使這種聲音很確實簡單,但我也有情況是這樣的:我怎樣才能在第一所需行之前刪除數據選擇的
我需要得到所有實踐的一年中每一週成本爲0,然後更新到插入這些實踐的表變量。見的代碼和示例如下片段: - 54
這是數據
insert into @Weeks
select [practice id], name, description, fiscalweek, 0 as cost from dbo.Main
cross join dbo.Time
where Main.[Practice id] IN (110,109,2,3,4,5,6,7,8)
AND Main.[TreatmentSchemeDescription] IN ('Access+','Access +')
group by [practice id], name, description, fiscalweek
order by [practice id]
將會產生的數據是這樣的
practice id fiscalweek cost
109 16 0.00
109 17 0.00
109 18 258.00
109 19 0.00
109 20 0.00
109 21 80.00
109 22 0.00
109 23 0.00
109 24 0.00
109 25 0.00
109 26 0.00
109 27 0.00
109 28 0.00
109 29 0.00
109 30 0.00
109 31 0.00
現在fiscalweek計數主要插入從1我只是不能把這些都放在這裏,而且有很多不同的參賽項目,不僅僅是這些參賽項目,所以例如練習110可能會在第3,7,12和17周等有些費用。我需要什麼要做的是從這個表中刪除變量或臨時表tabl我不介意在列表中的第一個實際值條目之前的零成本條目。
因此,例如,如果練習110在第2周具有其第一個非零成本,則刪除第1周的行,但如果練習109在第18周具有其第一個實際的非零成本,則在第18周。但我不想刪除有成本的星期之間的零成本行。基本上,這是我可以在幾周內運行平均成本,這是一個實踐從他們擁有的第一個非零成本中獲得的成本。
如果所有實踐在同一周內都有成本,並且如果我不關心中間的零成本,但我需要保留那些介於兩者之間的成本,這將是直截了當的。
我認爲這將是簡單的,但我的想法已經試圖解決這個問題。
我已經使用了交叉連接來創建一個針對每種練習的0費用列表,以便我可以用相應的數字更新所需的費用。這是我能夠獲得所有財政週數的唯一方式,否則任何其他加入(左,右,滿等)只會返回有成本的實際財政周。 我不需要在插入的順序,你在那裏是正確的。通過選擇所有成本大於0的地方,我們將會在具有實際數字的星期之間失去零條目。 – user3111531