我要实现的功能是这样的:
有两个表:table1 字段:s1,arf
table2 字段:ss,sums
现在希望对table1更新数据:
如果table1.s1=table2.ss那么取对应的这条table2.sums
table1更新为:table1.arf=table1.arf/table2.sums
我是这样写的:
update table1
set table1.arf=table1.arf/table2.sums
where table1.s1 in (select ss from table2)
一运行就报错:说invalid fieldname:sums
什么问题阿
有两个表:table1 字段:s1,arf
table2 字段:ss,sums
现在希望对table1更新数据:
如果table1.s1=table2.ss那么取对应的这条table2.sums
table1更新为:table1.arf=table1.arf/table2.sums
我是这样写的:
update table1
set table1.arf=table1.arf/table2.sums
where table1.s1 in (select ss from table2)
一运行就报错:说invalid fieldname:sums
什么问题阿
解决方案 »
- 100分 求一个方案 局域网中客户端上Delphi将文件上传到服务器,并且能下载
- 如何让被其他子窗体覆盖的子窗体显示在最前面,不是再生成一个窗体
- 如何读取打印任务队列中需要打印的文件的内容???!!!
- 如何让一个TSpeedButton 对象在TDBCtrlGrid正确显示
- 用delphi做C/S模式的数据库程序的问题
- 一个关闭窗口的问题
- 请问编辑控件属性ImeMode值的含义?
- 请教各位高手“如何判断数据库中,某一个表是否存在?”
- 我SELECT语句出来的集,用dbgrid显示出来,但用mouse点击不能修改,
- 一个Chart的问题,有没有哪位真正的用过呢?
- sql高手,进来看看,帮个忙(50分!!!在线等,急!!!)
- dbgrideh问题:dbgrideh使用列统计功能,ado表使用批处理更新,在对ado表进行取消时,
語句好象看不出問題
UPDATE table1
SET a1.arf = a1.arf / a2.sums
FROM table1 AS a1, table2 AS a2WHERE a1.s1 = a2.ss
改成
table1.s1=table2.ss
set table1.arf=table1.arf/table2.sums
from table1,table2
where table1.s1 in (select ss from table2)
两个表中都有多个记录。
arf,sums都有多个,你要取哪条记录中的sums呢?
update table1
set table1.arf=table1.arf/table2.sums
where table1.s1=table2.ss
是不是tquery不支持这样的sql呢
有谁熟悉tquery的sql
set table1.arf=table1.arf/a2.sums
from
table2 as a2
where table1.s1 in (select a2.ss from a2)
UPDATE table1
SET sums=(select sums from table2
WHERE table1.s1 = table2.Ss)
解决是解决了,不过效率可不太高,需要临时列,不过试了试也没什么好办法了