检查两个列值中哪个最接近计算值

问题描述 投票:0回答:1

SQL的绝对新手,如果不可能或荒唐的话,请事先道歉。

SQL-Lite中的单个表

首先,我想过滤表以仅返回其中A列的十进制与B列的十进制之差大于3的行

然后对于每一行,我想从D列的整数中减去C列的整数以得出结果E。然后我想知道A列中的小数还是B列中的小数更接近结果E

谢谢!

sql sqlite
1个回答
0
投票

下面的代码基本上使用子查询来保持所有需要的值,使用CASE运算符进行决策,并使用ABS()函数来确定绝对距离。

select A, B, C, D, E,
  case when ABS(A-E) < abs(B-E) then 'A' else 'B' end [Closer_Value]
from (
  select A, B, C, D, (C-D) as [E]
  from YourTable
  where abs(A-B) > 3
) as Temp
© www.soinside.com 2019 - 2024. All rights reserved.