SqlCmd.Format("UPDATE %s SET rsv="
"(SELECT (CASE WHEN (max-min)<0.00001 THEN 1 ELSE (last*100-min*100)/(max-min) END) " //关键是这里,试了下还行,有什么问题没有?
"FROM %s WHERE ID=%u)"
"WHERE ID=%u",
TmpTblName,
TmpTblName,i,
i);
"(SELECT (CASE WHEN (max-min)<0.00001 THEN 1 ELSE (last*100-min*100)/(max-min) END) " //关键是这里,试了下还行,有什么问题没有?
"FROM %s WHERE ID=%u)"
"WHERE ID=%u",
TmpTblName,
TmpTblName,i,
i);
"(SELECT (CASE WHEN (max-min) <0.00001 THEN 1 ELSE (last*100-min*100)/(max-min) END) "
//关键是这里,试了下还行,有什么问题没有?
"FROM %s WHERE ID=%u) "
"WHERE ID=%u ",
TmpTblName,
TmpTblName,i,
i);有问题...
(SELECT (CASE WHEN (max-min) <0.00001 THEN 1 ELSE (last*100-min*100)/(max-min) END) "
FROM %s WHERE ID=%u)这个是个集合..而你只能所要的是直!!
加上一个TOP 1应该可以了~~
set rsv=(select top 1 (case when (max-min)<0.00001 then 1 else (last*100-min*100)/(max-min) END from TmpTblName where ID=i.ID)
from TmpTblName i
where ID ='U'