小编Lui*_*ami的帖子

如何在WHERE子句中使用SELECT语句编写SQL DELETE语句?

数据库:Sybase Advantage 11

在我寻求规范化数据的过程中,我试图删除我从这个SELECT语句得到的结果:

SELECT tableA.entitynum
FROM tableA q
INNER JOIN tableB u on (u.qlabel = q.entityrole AND u.fieldnum = q.fieldnum) 
WHERE (LENGTH(q.memotext) NOT IN (8,9,10) 
OR q.memotext NOT LIKE '%/%/%')
AND (u.FldFormat = 'Date')
;
Run Code Online (Sandbox Code Playgroud)

这是DELETE我提出的陈述:

DELETE FROM tableA
WHERE (SELECT q.entitynum
FROM tableA q
INNER JOIN tableB u on (u.qlabel = q.entityrole AND u.fieldnum = q.fieldnum) 
WHERE (LENGTH(q.memotext) NOT IN (8,9,10) 
OR q.memotext NOT LIKE '%/%/%')
AND (u.FldFormat = 'Date'))
;
Run Code Online (Sandbox Code Playgroud)

当我尝试运行此语句时,我不断收到此错误:

ERROR IN …
Run Code Online (Sandbox Code Playgroud)

sql select advantage-database-server where-clause sql-delete

67
推荐指数
3
解决办法
32万
查看次数