插入记录到表中

corder_li 2007-08-03 04:05:04
现有两张表A和B

A表如下
ID 名称
1 书
2 夹子
B表如下(无记录)
ID 名称 数量

现通过在A表中通过ID(已知)查询到名称,数量为30
更新到B表中

ID 名称 数量

2 夹子 30
...全文
154 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
OracleRoob 2007-08-04
  • 打赏
  • 举报
回复
--如果你说是B表中没有数据,需要追加记录,则:


insert into b([ID],名称,数量)
select [id],名称,30
from a
where id=2

OracleRoob 2007-08-04
  • 打赏
  • 举报
回复
--可以使用域函数处理:


--如果id是字符型,需要加单引号
update B set 数量 = dsum("数量","A","id='" & B.id & "'")


--如果id是数值型
update B set 数量 = dsum("数量","A","id=" & B.id)
OracleRoob 2007-08-04
  • 打赏
  • 举报
回复
二楼给出的是借助临时表的方法,但是需要改进一下:

UPDATE B, C SET B.数量 = C.数量 on B.id=C.id
OracleRoob 2007-08-04
  • 打赏
  • 举报
回复
Access使用的是Jet-SQL,而SQL Server使用的是T-SQL,两者用法上相差很大。

Access的Update语句中,对于子查询的支持远比不上SQL Server,所以要使用域函数或借助临时表。



JET SQL 帮助(jet4 access2000)下载地址

http://www.access911.net/index.asp?board=8&recordid=75FAB71E&tt=


paoluo 2007-08-04
  • 打赏
  • 举报
回复
ACCESS中更新的時候不能使用SUM

所以需要借助一下別的表

--先生成一個表C
SELECT A.ID, Sum(A.数量) AS 数量 INTO C
FROM A
GROUP BY A.ID;

--然後借助C表更新B表
UPDATE B, C SET B.数量 = C.数量;
wwwwb 2007-08-03
  • 打赏
  • 举报
回复
insert into b([ID],名称,数量)
select [id],名称,30 from a where id=2

7,713

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧