ACCESS 追加查询 SQL语句

向A表(a1,a2.a3)三个字段中追加一条记录
对应的A1=0 A2=0 A3是对表B(b1、b2)中b2=0时b1值,且返回唯一值
语句
INSERT INTO A (a1,a2.a3)
VALUES (0, 0,=(SELECT B.b1 FROM B WHERE ((B.b2)=0) ) );
运行时报错 求解

追加语句:

Insert Into 目的表名(目的表名.字段1,目的表名.字段2) Values('值1','值2');

上面是标准的语法。跟T_SQL操作查询是一样的。所以他也能嵌套扩展,比如我要表对表追加查询:

Insert Into 目的表名(目的表名.字段1,目的表名.字段2) Select 来源表.字段1,来源表.字段2 from 来源表

你也可以给他有选择性的筛选:

Insert Into 目的表名(目的表名.字段1,目的表名.字段2) Select 来源表.字段1,来源表.字段2  from 来源表 where 条件加在这

你也可以嵌套连接查询,举个例子,我要向A表追加B表数据,当A表有重复某个字段就不重复追加,没有就追加,通过这种方法避免重复追加:

Insert Into A(A.字段1,A.字段2) Select B.字段1,B.字段2  from B Left join A on B.字段1=A.字段1 where((A.字段1) is null)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-09-24
insert into A (a1,a2,a2) select 0,0,b1 from B where b2=0

你还是复制吧,你上边有的括号写的不对,用的中文写法啦

追问

向A表(a1,a2.a3)三个字段中追加一条记录
对应的A1是对表C(c1、c2)中c2=0时c1值,且返回唯一值 ;
A2=0
A3是对表B(b1、b2)中b2=0时b1值,且返回唯一值
如果是这样又该怎么写呢 我写的有点糊涂了 提高悬赏

追答

关键是你这题目有点问的挺难懂的
你就是弄明白
a1,a2,a3分别对应C表里的哪个字段
对应好了就好写了

追问

我的意思是如果原题变了
a1对应c2
a2=0
a3对应b2
语句怎么写

追答insert into A (a1,a2,a2) select C.c2,0,B.b2 from B,C where C.c2=0 and B.b2=0

那这样就行

本回答被提问者采纳
相似回答