[英]Usage of EXCEPT keyword in subquery
我必须确定一组要从表中删除的行,这是我用来确定要删除的范围的逻辑。
我有 2 个表 AAA 和 BBB 使用 Sybase ASE。
AAA 有 2 列:日期、标签和价格 BBB 有 3 列:日期和标签
我使用以下查询来确定 AAA 中但不在 B 中的日期
SELECT DATE1 FROM AAA WHERE LABEL='toto' GROUP BY DATE1
EXCEPT
SELECT DATE1 FROM BBB WHERE LABEL='toto'
我想重复使用上面的查询来确定要从 AAA 中删除的行的范围
我想运行如下所示的东西:
SELECT *
FROM AAA
WHERE LABEL='TOTO'
AND DATE1 in (
(SELECT DATE1 FROM AAA WHERE LABEL='toto' GROUP BY DATE1)
EXCEPT
(SELECT DATE1 FROM BBB WHERE LABEL='toto'))
运行此查询引发了以下错误:
关键字“EXCEPT”附近的语法不正确。 [SQL State=ZZZZZ,DB Errorcode=156] 接下来:')' 附近的语法不正确。 [SQL 状态=42000,数据库错误代码=102]
我已经确定了错误到底是什么。
因此我的问题是:
谢谢 !
运行此查询引发了以下错误:
关键字“EXCEPT”附近的语法不正确。 [SQL State=ZZZZZ,DB Errorcode=156] 接下来:')' 附近的语法不正确。 [SQL 状态=42000,数据库错误代码=102]
也许像这样?
SELECT *
FROM AAA
WHERE LABEL='TOTO'
AND DATE1 in (
SELECT DATE1 FROM AAA WHERE LABEL='toto'
EXCEPT
SELECT DATE1 FROM BBB WHERE LABEL='toto')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.