首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在所需的第一行之前删除选定的数据

如何在所需的第一行之前删除选定的数据
EN

Stack Overflow用户
提问于 2014-02-11 00:15:54
回答 1查看 21关注 0票数 0

好的,我的头可能会让这听起来非常简单,但我的场景是这样的:

我需要获取一年中每周的所有实践,成本为0,然后更新插入这些实践的表变量。请看下面的代码片段和示例:

这是数据的主插入

代码语言:javascript
运行
复制
    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]

它会产生类似如下的数据

代码语言:javascript
运行
复制
         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到54,我只是不能证明将它们都放在这里是合理的,并且有许多不同周的条目,而不仅仅是这里的那些,所以例如,练习110可能在第3周、第7周、第12周和第17周等等。我需要做的是从这个表变量或临时表中删除我不介意的工作,在列表中第一个实际值条目之前的零成本条目。

因此,例如,如果practice 110在第2周具有第一个非零成本,则删除第1周的行,但如果practice 109在第18周具有其第一个实际非零成本,则删除第18周之前的所有零条目。但我不想删除具有成本的周之间的零成本行。基本上,这是因为我可以在几周内运行一个实践的成本的平均值,这些成本来自他们的第一个非零成本。

如果所有实践在同一周内都有成本,并且如果我不关心中间的零成本,这将是简单的,但我需要保留这些中间的成本。

我以为这会很简单,但我的大脑一直在努力解决这个问题。

EN

回答 1

Stack Overflow用户

发布于 2014-02-11 00:21:42

为什么你不干脆不把它们放在第一位。这样做:

代码语言:javascript
运行
复制
select * 
from 
(your existing query goes here) temp
where cost > 0

此外,insert查询中的order by子句可能也不是必需的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21682305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档