SQL根据column1中的两行中的值选择column2

时间:2016-06-14 08:47:11

标签: sql sql-server

我有一张这样的表:

To_day     |   percent
-----------------------
  5        |     1.5

  8        |      2

2147483647 |      3 

我想编写一个需要一天的SELECT,在To_day列中找到适合的范围并返回相关百分比。例如:

@day = 3 -------> percent = 1.5

@day = 5 -------> percent = 1.5

@day = 7 -------> percent = 2

@day = 15 ------> percent = 3

2 个答案:

答案 0 :(得分:1)

试试这个:

SELECT TOP 1 [percent]
FROM mytable
WHERE To_day >= @d
ORDER BY to_day 

答案 1 :(得分:0)

看看这是否是你想要的。

DECLARE @t1 TABLE (to_day INT, [percent] FLOAT)

INSERT INTO @t1 VALUES (5,1.5);
INSERT INTO @t1 VALUES (8,2);
INSERT INTO @t1 VALUES (2147483647,3);

DECLARE @day INT = 15;

SELECT TOP 1 [percent]
FROM @t1
WHERE (to_day - @day) >= 0
ORDER BY (to_day - @day) ASC