sql 问题(100)

  • 主题发起人 主题发起人 jjchen123
  • 开始时间 开始时间
J

jjchen123

Unregistered / Unconfirmed
GUEST, unregistred user!
原设计表字段1 字段2A 0B 0C A+BD C-AE 0F E-D从一个表中可提取数据A 10B 20E 40可否通过一个语句实现得出A 10B 20C 30D 20E 40F 20其实就是如何完成字段中的公式?请SQL高人帮下小弟
 
坦白地告诉你,通过SQL,没法完成,你也别指望数据库有哪个函数可以完成你的要求,这仅限于我使用过的数据库(DB2, Oracle, SQL Server, ACCESS, MYSQL, SQL Anywhere)。数据库的SQL查询数据函数,如果不是聚集函数,则只能对当前记录中的字段值进行处理,而不能从其它记录中取值,然后再进行计算,而你的要求,却。。。希望LZ早日找其它方法来实现这个目的。
 
方法想到了,就是将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这是我想出来的方法,请各位参与给下我意见。。
 
如果不止这6行数据呢?你的方法不行。
 
3楼,象你这么写,他就不需要用数据表来存放数据了。
 
没试,但感觉用存储过程可以实现。首先,用第二个表更新第一个表的字段2,然后用游标,从第一个表的第一个记录开始走,至于字段2的运算,可以用字符串来保存,然后用execute来执行。
 
to zbdzjx,可以将你的想法,贴一段代码出来学习学习吗?
 
后退
顶部