J jjchen123 Unregistered / Unconfirmed GUEST, unregistred user! 2009-02-22 #1 原设计表字段1 字段2A 0B 0C A+BD C-AE 0F E-D从一个表中可提取数据A 10B 20E 40可否通过一个语句实现得出A 10B 20C 30D 20E 40F 20其实就是如何完成字段中的公式?请SQL高人帮下小弟
原设计表字段1 字段2A 0B 0C A+BD C-AE 0F E-D从一个表中可提取数据A 10B 20E 40可否通过一个语句实现得出A 10B 20C 30D 20E 40F 20其实就是如何完成字段中的公式?请SQL高人帮下小弟
Z znxia Unregistered / Unconfirmed GUEST, unregistred user! 2009-02-22 #2 坦白地告诉你,通过SQL,没法完成,你也别指望数据库有哪个函数可以完成你的要求,这仅限于我使用过的数据库(DB2, Oracle, SQL Server, ACCESS, MYSQL, SQL Anywhere)。数据库的SQL查询数据函数,如果不是聚集函数,则只能对当前记录中的字段值进行处理,而不能从其它记录中取值,然后再进行计算,而你的要求,却。。。希望LZ早日找其它方法来实现这个目的。
坦白地告诉你,通过SQL,没法完成,你也别指望数据库有哪个函数可以完成你的要求,这仅限于我使用过的数据库(DB2, Oracle, SQL Server, ACCESS, MYSQL, SQL Anywhere)。数据库的SQL查询数据函数,如果不是聚集函数,则只能对当前记录中的字段值进行处理,而不能从其它记录中取值,然后再进行计算,而你的要求,却。。。希望LZ早日找其它方法来实现这个目的。
J jjchen123 Unregistered / Unconfirmed GUEST, unregistred user! 2009-02-23 #3 方法想到了,就是将A、B、E这几个数用变量存起来,再用语句来完成。。如下:declare @a int,@B int,@E intselect @a=10,@b=20,@e=40 --这里应由另一表取到数据,略select A,@aunionselect B,@bunion select C,@a+@bunion select D,@a+@b-@aunion select E,@eunionselect f,@e-@a+@b-@a这是我想出来的方法,请各位参与给下我意见。。
方法想到了,就是将A、B、E这几个数用变量存起来,再用语句来完成。。如下:declare @a int,@B int,@E intselect @a=10,@b=20,@e=40 --这里应由另一表取到数据,略select A,@aunionselect B,@bunion select C,@a+@bunion select D,@a+@b-@aunion select E,@eunionselect f,@e-@a+@b-@a这是我想出来的方法,请各位参与给下我意见。。
Z zbdzjx Unregistered / Unconfirmed GUEST, unregistred user! 2009-02-24 #6 没试,但感觉用存储过程可以实现。首先,用第二个表更新第一个表的字段2,然后用游标,从第一个表的第一个记录开始走,至于字段2的运算,可以用字符串来保存,然后用execute来执行。
J jjchen123 Unregistered / Unconfirmed GUEST, unregistred user! 2009-02-24 #7 to zbdzjx,可以将你的想法,贴一段代码出来学习学习吗?