求最小的数值,请前辈帮写个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 施肥表