表一(T1)吨位    价格
2.0 500
2.01 600
3.0 600
3.01 800
4.0 800
4.01 1000要求输入一个吨位变量值,如(2.5)查询出 对应的价格 :600如何写这个sql 语句?或函数、过程?

解决方案 »

  1.   

    select 价格 from T1 where 吨位=2.01
      

  2.   

    不明白你的表的值为什么这么填写。你的吨位精确到小数点后第几位?
    如果只有一位那么这样就可以。
    select * 价格 from T1 where 吨位>2.5 
    取出来的第一行就是你要的值。如不只一位,你的表没必要这么写。要不吨位是2.001咋整。。
      

  3.   

    select 
      CASE  WHEN 吨位=2.0 THEN 500
      CASE  WHEN 吨位=2.01 THEN 600
    CASE  WHEN 吨位=3.0 THEN 600
    CASE  WHEN 吨位=3.01 THEN 800
    CASE  WHEN 吨位=4.0 THEN 800
    CASE  WHEN 吨位=4.01 THEN 1000
    ELSE 吨位='' ENDfrom table  
      

  4.   


    select top 1 价格  from T1 where 吨位<2.5 order by 吨位 desc
      

  5.   

    你这是不是一张价格表?应该需要你计算单价的函数。。如果是我我会把表做成这样
    价格(主键)  吨位1   吨位2
    500                 2.0 
    600         2.01    3.0  
    800         3.01    4.0 
    1000        4.01select 价格 from t1 where 吨位1<=2.5 and 吨位2>=2.5
      

  6.   

    select [价格] from T1
    where [吨位]=ceiling(convert(float,@input吨位))
      

  7.   

    这Where条件只能 等于2.5的时候满足吧