我正在研究Ingres9.2版本。当我执行像
这样的查询时select col1 from table1 group by col1 having not((5=min(col1)) and (0 = 1))
它引发了一个错误:
找到错误的选择或子选择目标列表。
但是,如果我使用以下任一条件更改查询,则不会发生错误: 0 = 0或1 = 1而不是0 = 1。 不要删除。 使用或代替和。 删除最小。
我无法找到此行为的原因。并且在Ingres中的其他数据库中也没有出现相同的错误。如果有人知道原因,请解释一下。
答案 0 :(得分:0)
Ingres是一个旧数据库。可能在group by
密钥上使用聚合函数时遇到问题。这是推测,但这应该有效:
select col1
from table1
where not (5 = col1) and (0 = 1))
group by col1 ;
当然,条件更有可能写成col1 <> 5
,但这两种形式是等价的。