(或 SLV 未定义) Informix 数据库

Posted

技术标签:

【中文标题】(或 SLV 未定义) Informix 数据库【英文标题】:(or SLV is undefined) Informix data base 【发布时间】:2016-05-19 10:10:14 【问题描述】:

谁能帮我找出这个小查询中的错误。

select count(txno) as c1, rxno  from mrgrxtxt 
where c1>1
group by rxno;

错误:[Error Code: -217, SQL State: IX000] Column (c1) not found in any table in the query (or SLV is undefined).

如果我注释掉 WHERE 子句 (where c1 >1),它执行得很好。

【问题讨论】:

【参考方案1】:

您不能在 where 中使用列别名。真的,你需要一个having 子句。

试试这个:

select count(txno) as c1, rxno 
from mrgrxtxt 
group by rxno
having count(txno) > 1;

【讨论】:

【参考方案2】:

或者在派生表中执行GROUP BY 部分:

select c1, rxno
from
(
    select count(txno) as c1, rxno 
    from mrgrxtxt 
    group by rxno
)
where c1 > 1;

在更复杂的聚合时非常方便。 (在复制或调整表达式时,打字更少,出错的风险也更小。)

【讨论】:

以上是关于(或 SLV 未定义) Informix 数据库的主要内容,如果未能解决你的问题,请参考以下文章

未找到产品名称的数据库类型:[Informix 动态服务器]

rhel6 上的 php pdo_informix - 未实现可选功能

Linux系统如何创建用户并设定用户目录和分配用户组?

如何避免informix中的锁异常

informix中怎么插入大量数据,再提交

informix数据库常用命令(转)