如何在MySQL中找到适用的网格?

时间:2018-05-16 18:02:23

标签: mysql

我有一个复杂的情况,因为我无法为此编写单个查询。

我有一张如下表:

ID  MIN   MAX      PLEVEL
1    0   .50         P1
2    .51   1.00      P2
3    1.01   1.02     P3

我有一个变量可以有任何值,如.23,.75等

我需要查询检查与此相关的PLEVEL,如

if variable = .23 than PLEVEL = P1
if varable = .75 than PLEVEL = P2

3 个答案:

答案 0 :(得分:1)

你还没有给出很多细节,但听起来你想要这个:

SELECT PLEVEL from table WHERE variable >= MIN and variable <= MAX;

假设min和max是数字列,您只需要返回plevel。

答案 1 :(得分:1)

您可以执行此操作以在表中查找特定变量的相应行。 (http://sqlfiddle.com/#!9/822676/9/0

SET @variable := 0.23;
SELECT @variable, PLEVEL 
  FROM tbl 
 WHERE @variable <= `MAX` AND @variable > `MIN`

但是,您的表数据可能包含一个缺陷。如果您的变量值为0.505会怎样?它不会匹配任何一行。

答案 2 :(得分:0)

立即If(IIF)声明可能有帮助

SELECT ID ,IIF(variable=.23,'P1',IIF(variable=.75,'P2','')) as Plevel From MyTable

或者您可能想查看CASE命令