日期:2014-05-17  浏览次数:20598 次

求最小的数值,请前辈帮写个sql语句,先感谢前辈了!
环境:.dbf数据库,通过c#的odbc读取出来,想写个sql语句达到下边目的。
目的:需氮量/复合肥氮含量=复合肥用量,需磷量/复合肥磷含量=复合肥用量,需钾量/复合肥钾含量=复合肥用量,找出这3个复合肥用量最小的数值。



施肥表:
需氮量 需磷量 需钾量 复合肥氮含量 复合肥磷含量 复合肥钾含量 求最小复合肥用量
10 15 13 23%      18%      21%
5 2 10 23%      18%      21%

 OdbcCommand cmd = new OdbcCommand();
 cmd.Connection = conn;
string sql = "求sql语句"; 
------解决方案--------------------
select *,case when 需氮量/复合肥氮含量<需磷量/复合肥磷含量 then (case when 需氮量/复合肥氮含量<需钾量/复合肥钾含量 then 需氮量/复合肥氮含量 else 需钾量/复合肥钾含量 end) else (case when 需磷量/复合肥磷含量<需钾量/复合肥钾含量 then 需磷量/复合肥磷含量 else 需钾量/复合肥钾含量 end) end  as
求最小复合肥用量
from 施肥表
------解决方案--------------------
update 施肥表  set 最小复合肥用量  =case when 需氮量/复合肥氮含量<需磷量/复合肥磷含量 then (case when 需氮量/复合肥氮含量<需钾量/复合肥钾含量 then 需氮量/复合肥氮含量 else 需钾量/复合肥钾含量 end) else (case when 需磷量/复合肥磷含量<需钾量/复合肥钾含量 then 需磷量/复合肥磷含量 else 需钾量/复合肥钾含量 end) end  
------解决方案--------------------
select *,case when 需氮量/复合肥氮含量<需磷量/复合肥磷含量 then (case when 需氮量/复合肥氮含量<需钾量/复合肥钾含量 then 需氮量/复合肥氮含量 else 需钾量/复合肥钾含量 end) else (case when 需磷量/复合肥磷含量<需钾量/复合肥钾含量 then 需磷量/复合肥磷含量 else 需钾量/复合肥钾含量 end) end  as
求最小复合肥用量
from 施肥表