表达式的Sql语句如何书写??(20分)

N

noall

Unregistered / Unconfirmed
GUEST, unregistred user!
表tb有字段a,b,c,d

a :float;
b:float;
c:float;
d:varchar;

现字段d的值是这样的
b+c或是b-c或是b*c这类的一个表达式,

那么Sql语句如何写符合

update tb set a=d(这句是错的)

意思是字段a的值是由字段d的表达式所计算出的结果。
示例如下:
b c d a
1 3 b+c 》 4
1 3 b*c 》 3
1 3 b-c 》 -2
由字段b,c ,d推出a的值。谢谢。明天过来看答案。




 
用sql语句比较困难,可以在程序中实现。
建议把d的值改成如:sum(b=c) 回方便一点
 
各位大虾出手一下嘛。

》》》建议把d的值改成如:sum(b=c) 回方便一点
sub(b=c)可以吗?如果可以,怎么写

 
还是在程序里面改吧
 
我来写一个程序:
iFieldB:integer;
iFieldC:integer;
iFieldA:integer;
sFieldD:string
strSQL:='select a,b,c,d from tablename'
iFieldB:=Query1.FieldByName('b').AsInteger;
iFieldC:=Query1.FieldByName('b').AsInteger;
sFieldD:=Query1.FieldByName('c').AsString;
StringReplace(sFieldD,'b',IntToStr(iFieldB))
StringReplace(sFieldD,'c',IntToStr(iFieldC))
iFieldA:=StrToInt(sFieldD);
strSQL:='update tablename set a=IntToStr(iFieldA) where condition ';


 
同意chenybin,我有这样的经历:
给Table添加一个计算字段!
 
多人接受答案了。
 
顶部