DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: hfh9801
今日帖子: 0
在线用户: 4
导航: 论坛 -> 数据库专区 斑竹:liumazi,waterstone  
作者:
男 lxd78456 ★☆☆☆☆ -
盒子活跃会员
2004/7/26 11:03:26
标题:
刨根问底,求一句SQL语句 浏览:1146
加入我的收藏
楼主: 我用的是ADO+Access数据库,数据库中有两个表:
表一(明细表):  字段1  字段2           表二(汇总表): 字段1  字段2
                    A      10                               A     30
                    B       5                               B     50
                    A      20                               C     空
                    B      45
问题:怎样用一个SQL语句实现由表一分类汇总后转到表二字段2得到当前的数据??(表二的字段1的3 条记录是固定的,字段2初始值都为0)

开始时我用了SQL语句:
UPDATE  表2  SET  表2.字段2=a.字段2
FROM (SELECT 字段1 , SUM(字段2)  AS 字段2    FROM 表1   GROUP BY  字段1) as a
WHERE 表2.字段1=a. 字段1

但系统提示: 语法错误(操作符丢失),在查询表达式‘ a.字段2 FROM (SELECT 字段1 , SUM(字段2)  AS 字段2    FROM 表1   GROUP BY  字段1) as a’中

后来考虑到用的是Access数据库,又改为:
Update 表2,(select 字段1,sum(字段2) as 字段2 from 表1 group by 字段1) as a
Set 表2.字段2=a.字段2
where 表2.字段1=a.字段1

但系统提示: 操作必须使用一个可更新的查询

请高手赐教----问题错在哪里??应该怎样写???

----------------------------------------------
-
作者:
男 zsredmoon (=^@^=) ★☆☆☆☆ -
盒子活跃会员
2004/7/26 11:16:15
1楼: 不知道可否

UPDATE 表二 SET 表二.字段2 = ( SELECT SUM(表一.字段2) FROM 表一 WHERE 表一.字段1 = 表二.字段1 )

----------------------------------------------
按此在新窗口浏览图片
=^@^=
作者:
男 lxd78456 ( ) ★☆☆☆☆ -
盒子活跃会员
2004/7/26 15:36:40
2楼: 1楼:不可
系统提示: 操作必须使用一个可更新的查询

----------------------------------------------
-
作者:
男 zsredmoon (=^@^=) ★☆☆☆☆ -
盒子活跃会员
2004/7/26 15:59:10
3楼:   SORRY,那我也不知道了。
  按照您的数据,我在SQL SERVER执行通过的,至于ACCESS,我就没试过了。
----------------------------------------------
按此在新窗口浏览图片
=^@^=
作者:
男 lxd78456 ( ) ★☆☆☆☆ -
盒子活跃会员
2004/7/26 16:34:02
4楼: 不管怎样,谢谢zsredmoon!!
其实select查询没有问题,但就是无法将查询结果Update到表2中,总提示我:操作必须使用一个可更新的查询。----真背气!
如果再没高手指点的话,我只好用其他办法了----逐条Edit+post更新
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行140.625毫秒 RSS