咋用sql算1+1呀...没分了...真不好意思....(8分)

  • 主题发起人 主题发起人 why_119
  • 开始时间 开始时间
W

why_119

Unregistered / Unconfirmed
GUEST, unregistred user!
表一字段为:
产品名称---成本---基分---零售价格
A1 A2 A3 A4

注:表一中的数据只有经理可以改.

表二字段为:
产品名称---销售价格---数量---提成---等等...
B1 B2 B3 X

注:提成为计算字段.

公式如下:
X=((B2-A2)/(A4-A2)*8*A3)*B3

条件:
A1=B1

用过的方法:
select 公式 as 字段 from 表二;
update 表二 set 字段=公式;
select ........where a1=b1......
等...
 
UPDATE titles
SET ytd_sales = t.ytd_sales + s.qty
FROM titles t, sales s
WHERE t.title_id = s.title_id
sqlserver的一个例子
 
有些数据库可能不支持直接两表联合更新的操作。
先执行查询操作,取得结果,再更新。
我想你所关心的也主要是要得到结果。
select ((b2-a2)/(a4-a2)*8*a3)*b3 x from tab1,tab2 where a1=b1;
需要注意的是:
1 如果两个表中字段名相同,则需要使用tabname.fieldname。
2 在上面的语句中,要注意避免a4=a2,以及a3=0的情况。
3 注意避免所有字段值为空的情况。
2 和 3 中都和数据库的种类有关。
 
可以先从表A中计算值,然后update表B的X字段。不行吗?

你的问题似乎不明确呀。
 
ACCESS下的写法,提问题要说明一下数据库类型

update 表1 as AAA,表2 as BBB
set BBB.X=(BBB.B2-AAA.A2)/(AAA.A4-AAA.A2)*8*AAA.A3*BBB.B3
where AAA.A1=BBB.B1

MS SQL下的update写法按dhl2001给出的例子改改

 
不行...算不出来 ....
 
怎么样一个算不出来法?
看看回答问题的这些FW,个个写的都比你多!
你这样提问题也太不负责任了吧!
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
539
import
I
后退
顶部