Teradata:查询给定输入的两列的下一个最低值

时间:2018-03-04 05:19:32

标签: sql teradata

我有以下两个表:

       TableA:
+---------+--------+
|  name   | nm_key |
+---------+--------+
| Bob     |   1124 |
| Sally   |   3278 |
| Frank   |   6484 |
| Mary    |   1125 |
| Annette |   2798 |
+---------+--------+

             TableB:
 +--------+----------+--------+
 | nm_key | sequence | status |
 +--------+----------+--------+
 |   1124 |    33333 |      3 |
 |   2798 |    11111 |      1 |
 |   3278 |    12226 |      2 |
 |   1125 |    24356 |      3 |
 |   6484 |    12272 |      2 |
 +--------+----------+--------+

使用这两个表,如何编写Teradata SQL查询,该查询将返回具有下一个最低状态的名称和名称输入的下一个最低序列?例如,Bob的输入将返回Frank,因为下一个最低状态为2,下一个最低序列为12272.

1 个答案:

答案 0 :(得分:0)

试试这个:

Select * from table1 
Left join table2 on table2.nm_key=table1.nm_key
Where status=ceil(status +.99)