我想用SSIS填充表格。当状态列有“取消”时,我只想填充它,只有当它还有另一行具有相同ID并且状态列为"新销售" 。我已经有一些'New sales'
行,并且还有'取消'对于我的源表上相同的Id(我也想填充)。所以我不能使用where子句(where status = 'New Sale')
。我不想在没有事先'New Sale'
答案 0 :(得分:0)
您的问题很难准确回答,因为可用的信息很少。我们不知道表名或列名(除了“status”之外),我们也没有任何例子可供查看。因此,解决方案可能是使用EXISTS
select t1.*
from yourtable t1
where exists (
select NULL
from yourtable t2
where t1.orderid = t2.orderid
and (t1.status = 'cancelled' and t2.status = 'New sales'
or t2.status = 'cancelled' and t1.status = 'New sales')
)
and t1.status IN('cancelled','New sales')