selectクエリで派生列を作成/宣言/定義してからwhere句で使用するにはどうすればよいですか?
7435 次
1 に答える
1
SQL クエリで列を定義するには、単一の値を返すほとんどすべての SQL 操作 (select ステートメントを含む) を使用できます。ここではいくつかの例を示します。
select 'Y' from dual;
select (5 * 3) cal_col from dual;
select (select min(col1) from table 2) calc_col from dual;
select nvl(col1, 'N') has_value from mytable;
私の経験から、選択クエリで派生列を使用する場合は、その列を内部選択の一部として定義する必要があります。次に例を示します。
select *
from (
select (col1 * col2) calc_col
from mytable
) data
where data.calc_col > 30
もう 1 つの方法は、where 句自体の中で計算を使用することです。
select (col1 * col2) calc_col
from mytable t
where (col1 * col2) > 30
count(*) 操作を実行している場合は、HAVING 句を利用することもできます。
select field1, count(*)
from mytable
having count(*) > 3
于 2011-02-28T22:39:11.127 に答える