请大家帮助我!我要挨骂了!!!(50分)

  • 主题发起人 主题发起人 衫菜
  • 开始时间 开始时间

衫菜

Unregistered / Unconfirmed
GUEST, unregistred user!
Update tb1 set mm=(select sum(kk) from tb2
where (tb2.xm=tb1.xm)) from tb1, tb2
在SQL SERVER中上面的语句可以通过,
可是现在我在同样表结构的MDB数据库中,
为什么就提示不能执行??用INNER JOIN 的办法也不行,说操作符丢失!!!
怎么办呀!!!我明天再做不出就要挨骂了呀!!!
 
真是辛苦,还在问啊,sql估计解决不了了,这样吧:
with Query1 do
begin
SQL.Text := 'select xm,mm from tb1';
Open;
while not Eof do
begin
Query2.SQL.Text := 'select sum(kk) from tb2 where xm=:0';
Query2.Params[0].Value := Fields[0].Value;
Query2.Open;
Edit;
Fields[1].Value := Query2.Fields[0].Value;
Post;
Next;
end;
end;
 
好像不是所有的数据库都支持这种语法的。

权当灌水,随口说的。
 
这个SQL语法太乱:(
改成这样——
Update tb1 set mm=(select sum(kk) from tb1,tb2
where (tb2.xm=tb1.xm))
 
qdyoung谢谢你了,不过数据太多了,这样做法速度太慢了,
doxpix 你的SQL语句我试过了,行不通的,
小猪 你真的是猪猪吗?
 
Update tb1 set mm=(select sum(kk ) from tb2)
where (tb2.xm=tb1.xm)) from tb1, tb2
 
倒到sql server里面后就可以
文件数据库支持不了子查询(select 欠套)
 
谁说access这种文件数据库不支持子查询,我现在做的东东就是用access数据库,没
有部支持呀
 
在Sql_Server中有些SQL语句在MDB中是不能用的~
这个语句又不是标准的SQL语句!
 
sql语句我觉得现在已经有点乱了。
比如:select top 10在sql server中是可以的,好像也是标准的sql。
可是在oracle中偏偏改成了select * from table where rownum<=10
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
977
import
I
I
回复
0
查看
979
import
I
I
回复
0
查看
676
import
I
后退
顶部