sql >> データベース >  >> RDS >> Sqlserver

各グループの指定された値以上の次の最小値を取得します

    派生テーブル a refid を指定して table1 から最小値を取得します および intVal table2 から;外側のクエリは someValue のみを取得します。

    select a.refid, a.intVal, a.nextGt, table1.SomeVal
    from
    (
        select table2.refid, table2.intval, min (table1.intVal) nextGt
          from table2
          left join table1
            on table2.refid = table1.refid
           and table2.intVal <= table1.intVal
         group by table2.refid, table2.intval
    ) a
    -- table1 is joined again to retrieve SomeVal 
    left join table1
      on a.refid = table1.refid
     and a.nextGt = table1.intVal
    

    Sql Fiddle with live test .



    1. Laravelコードにビデオを埋め込む方法

    2. PostgreSQLでJson配列から要素を取得する方法

    3. 週番号に基づいてMYSQLからデータを取得する

    4. 可能な限り2番目に高い給与の最良の方法を見つける