我有一个复杂的情况,因为我无法为此编写单个查询。
我有一张如下表:
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
答案 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命令