SQL Join, Exclude Rows

这可能是一些非常简单的事情,但我不明白它的时刻.目前,我正在努力从我的数据集中删除重复的行.下面我已经添加了我的当前结果,但我只感兴趣的绿色行.任何帮助support将非常感激。下面我已经添加了我的当前结果,但我只对绿色行感兴趣.任何帮助support将是非常感激。

最好的RegardsCiao

编码

SELECT
d.awb_no, 
e.piece_id,
e.event_day, 
e.event_cd, 
d.calc_piece_no

FROM OPS_DW.detail AS d 

    JOIN OPS_DW.event AS e 
    ON d.rec_key = e.rec_key 

WHERE e.event_day between 20200120 and 20200125
And d.awb_no = 1568275645
AND e.event_cd In ('PD','OK')

结果This is the Result i am getting

解决方案:

我怀疑你想要一个优先级查询,如果有 “PD “行,否则就是 “OK “行–基于 awb_noevent_day 的组合。 如果是这样,有一种比较简单的方法是用 NOT EXISTS:

WITH t as (
      SELECT d.awb_no, e.piece_id, e.event_day, e.event_cd,  d.calc_piece_no
      FROM OPS_DW.detail d JOIn
           OPS_DW.event AS e 
           ON d.rec_key = e.rec_key 
      WHERE e.event_day between 20200120 and 20200125 AND
           d.awb_no = 1568275645
           e.event_cd In ('PD','OK')
     )
SELECT t.*
FROM t
WHERE t.event_cd = 'PD' OR
      NOT EXISTS (SELECT 1
                  FROM t t2
                  WHERE t2.awb_no = t.awb_no AND
                        t2.event_day = t.event_day AND
                        t2.event_cd = 'PD' 
                 );

给TA打赏
共{{data.count}}人
人已打赏
未分类

如何将matplotlib的数字均匀地铺在屏幕上?

2022-9-19 3:07:21

未分类

net.DialTCP在Linux上产生 "连接拒绝 "错误,但在Windows上没有。

2022-9-19 3:07:23

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索