2016-05-19 12 views
1

この小さなクエリでエラーを見つけ出すには、ここで誰でも助けてください。(またはSLVが未定義)Informixデータベース

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

エラー:私はWHERE句(where c1 >1)をコメントアウトした場合[Error Code: -217, SQL State: IX000] Column (c1) not found in any table in the query (or SLV is undefined).

、それが正常に実行されます。

答えて

1

または派生テーブルにGROUP BY一部の操作を行います:

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

非常に便利なときに、より複雑な集計

はこれを試してみてください。 (表現の複製や調整の際に入力する手間が少なくなり、エラーのリスクも小さくなります。)

4

whereに列エイリアスを使用することはできません。実際にはhaving句が必要です。

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