删除调整行SQL选择语句

时间:2017-02-14 23:46:24

标签: sql sql-server sql-server-2014

我想从SQL select查询中删除调整行。这就是我现在所拥有的:

Resource    Date    Leave       Position    Hours   Code
33333   26/02/2016  Sick Leave  TRNSPLNR    -7      SICK                     
33333   26/02/2016  Sick Leave  TRNSPLNR     7      SICK                     
33333   26/02/2016  Vacation    TRNSPLNR     7      VAC 

这是最终结果应该是:

Resource Date       Leave     Position   Hours  Code                   
33333    26/02/2016 Vacation  TRNSPLNR    7     VAC 

1 个答案:

答案 0 :(得分:1)

假设有两个这样的副本,你可以这样做:

select t.*
from t
where not exists (select 1
                  from t t2
                  where t2.date = t.date and 
                        t2.leave = t.leave and
                        t2.resource = t.resource and
                        t2.hours = - t.hours
                 );

不清楚是什么导致重复,因此您可能希望在内部where子句中添加更多比较。