sql报“exists”附近语法错误

莫舍桥西 2011-10-27 03:18:30
select distinct ITEM_CD from SITEM where USE_YN=1 and ITEM_CD
not exists
(
select * from table1 where IO_DT between '20110827' and '20111027'
)
上面是我的sql 我看着没错啊
...全文
186 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
baobaolovejava 2011-10-27
  • 打赏
  • 举报
回复
EXISTS
指定一个子查询,检测行的存在。

语法
EXISTS subquery

参数
subquery

是一个受限的 SELECT 语句 (不允许有 COMPUTE 子句和 INTO 关键字)。有关更多信息,请参见 SELECT 中有关子查询的讨论。

结果类型
Boolean

结果值
如果子查询包含行,则返回 TRUE。

NOT EXISTS 和上面相反



本示例所示查询查找由位于以字母 B 开头的城市中的任一出版商出版的书名:

USE pubs
GO
SELECT title
FROM titles
WHERE EXISTS
(SELECT *
FROM publishers
WHERE pub_id = titles.pub_id
AND city LIKE 'B%')
GO

因此 1和3楼的sql都可以


xuam 2011-10-27
  • 打赏
  • 举报
回复
select distinct ITEM_CD from SITEM where USE_YN=1 and ITEM_CD  
not in ( select ITEM_CD from table1 where IO_DT between '20110827' and '20111027')
geniuswjt 2011-10-27
  • 打赏
  • 举报
回复

select distinct ITEM_CD from SITEM where USE_YN=1 and ITEM_CD
not in(
select ITEM_CD from table1 where IO_DT between '20110827' and '20111027'
)

唐诗三百首 2011-10-27
  • 打赏
  • 举报
回复

select distinct t.ITEM_CD
from SITEM t where t.USE_YN=1 and
not exists
(
select * from table1 where [table1表对应ITEM_CD的字段]=t.ITEM_CD and
IO_DT between '20110827' and '20111027'
)

昵称被占用了 2011-10-27
  • 打赏
  • 举报
回复
or

select distinct ITEM_CD from SITEM where USE_YN=1 and ITEM_CD  
not in
(
select ITEM_CD from table1 where IO_DT between '20110827' and '20111027'
)
昵称被占用了 2011-10-27
  • 打赏
  • 举报
回复
select distinct ITEM_CD   from SITEM a where USE_YN=1 and  
not exists
(
select * from table1 where IO_DT between '20110827' and '20111027'
and ITEM_CD = a.ITEM_CD
)

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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