access数据库常见问题

语法错误,操作符丢失

Access数据库,在使用left join连接两个以上的表时,会报错:语法错误,操作符丢失等问题。
解决其实很简单,就是得加括号:
select * from ((c
left join a on a.id=c.aid)
left join b on b.id=c.bid)

还有如果

select * from a 表1

也报语法错误,操作符丢失的话 记得加个as

select * from a as 表1

无法识别的关键字when

从其他数据库转到Access来时报“无法识别的关键字when”:Case when不能用,用IIF代替。
Case when 用法

Case when 表达式 then 表达式为真的值 else 表达式为假的值 end 

IIF用法

IIF(表达式,表达式为真的值,表达式为假的值)

试图执行的查询中不包含作为聚合函数

如果语句中包含有聚合函数,那么语句select中除了聚合函数列外,其它所有列一定要在group by中。比如

select id,Name,max(score) from Student

在Access中必须

select id,Name,max(score) from Student group by id,Name

insert into语句的语法错误

insert into Test(user, pwd) values('test','test')

原因是列名是关键字冲突,给user, pwd加了[],就正常运行了

insert into Test([user], [pwd]) values('test','test')

友情提示

还有,如果不嫌麻烦,请把所有的表名,字段名用[]括起来。

你可能感兴趣的:(Access,SQL)