【问题标题】:Find those id-s where no prohibitive conditions找到那些没有禁止条件的 id-s
【发布时间】:2014-10-06 22:27:53
【问题描述】:

我有一些条件“更简单”的子选择,但这不符合我的要求。 所以我在加入后有一张桌子......

A  B    C
1  x  2013.01
1  y  2013.02
1  z  2013.03
2  x  2013.02
2  x  2013.05
2  y  2013.06
2  z  2013.08
2  z  2013.09
3  y  2013.02
3  z  2013.03
3  x  2013.04

所以我需要那些存在 z 的 id-s,但之前不存在 x。

所以结果只有 3,因为 z 存在而 x 之前不存在。

【问题讨论】:

    标签: sql subquery exists dense-rank


    【解决方案1】:
    select *
    from Table1 t1 
         left join Table1 t2 ON t1.A = t2.A and t2.B = 'x'
    where t1.B = 'z'
        and ( t2.C >= t1.C or t2.A is null );
    

    查看它在sqlfiddle 中的实时工作

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-02
      • 2020-08-03
      • 1970-01-01
      • 2012-01-11
      • 2020-07-24
      • 1970-01-01
      • 2011-09-07
      • 1970-01-01
      相关资源
      最近更新 更多