access sql 多条件判断

来源:百度知道 编辑:UC知道 时间:2024/06/14 08:56:37
要求

我有一个数叫总平方,
参数表

ID 参数 价格
1 300 0.05
2 500 0.1
3 1000 -0.1

我要求 300<总平方<500 为0.1,500<=总平方<=1000为0,总平方>1000为-0.1

怎么写ACCESS数据库的 SQL ??或者表的结构是否要更改?
用于VB6.0 ADO
我要求这个300 500 0。1 0。05等数值 用户可以自定义

或者说 300<平方数<500 这个运算过程用户可以自定义

他也可以定义成 平方数>500 价格0 怎么办呢

你要求 300<总平方<500 为0.1,500<=总平方<=1000为0,总平方>1000为-0.1

这里面的 0.1、0、-0.1是怎么计算出来的,这可是关键啊,楼主出来解释一下。

这样虽然也能做出来..但是以后扩展肯定是不行的.
而且数据一多..肯定也是乱的.

建议你改表结构..改成

id 参数1 参数2 价格
1 0 300 0.05
2 301 500 0.1
3 500 1001 0
4 1001 10000 -0.1

查询用 select 价格 from 参数表 where 参数 between 参数1 and 参数2

我不知道ACCESS有没有between 方法.如果没有..你回复一下.我再帮你改一下

declare @总平方 float
set @总平方=600
--以上两句用于测试
select 总平方结果值=(case when(300<@总平方 and @总平方<500 )then 0.1 when(500<=@总平方 and @总平方<=1000) then 0 when(@总平方>1000) then -0.1 end)

我试过好用,纯属查询,表结构不用更改

你要用户可以自定义,把这几个数换成变量,让用户输入,然后到你的查询字符串中替换需要替换的数值不就行了~