注册 登录
编程论坛 SQL Server论坛

我这个句子有语法错误 还是编译器的问题?

mp3aaa 发布于 2008-09-15 16:42, 944 次点击
select * from 表1 where not exist (select ID from 表1 where ID=1)
我这个句子有语法错误么

我用的ACCESS 就是想练练 SQL 句子
运行这个的时候提示

子查询只能返回一个记录。。

是编译器的问题吗?
4 回复
#2
师妃暄2008-09-15 21:25
select ID from 表1 where ID=1

当然只返回ID等于1的这个记录
#3
iorivsmu2008-09-16 10:44
语法没错,但不能这么写,这么写查不出你要的结果.你要给表加个别名,在子查询里的where条件里用别名才行
你试下这个看看.效果是:查询表1里所有ID不为1的列.
select * from 表1 别名 where not exist (select ID from 表1 where 别名.ID=1)
#4
夜の枫2008-09-16 13:29
select * from 表1 别名 where not exist (select ID from 表1 where 别名.ID=1)
要加别名的啊?别名在这里的用处是不是定义要查找的范围啊?
#5
mp3aaa2008-09-17 20:53
回版主的话
 ID不是主键
1