基準を満たすフィールドの平均量を見つけたいです。大きなテーブルに埋め込まれていますが、この平均フィールドを別のテーブルではなくそこに入れたいと思います。
これは私がこれまでに持っているものです:
Select....
Avg( (currbal) where (select * from table
where ament2 in ('r1','r2'))
From table
基準を満たすフィールドの平均量を見つけたいです。大きなテーブルに埋め込まれていますが、この平均フィールドを別のテーブルではなくそこに入れたいと思います。
これは私がこれまでに持っているものです:
Select....
Avg( (currbal) where (select * from table
where ament2 in ('r1','r2'))
From table
case when ... then
null は avg() によって無視されるため、クエリのサブセットのみを AVG する場合は、一致しない行の値を null に置き換えるために使用します。
Select id,
sum(something) SomethingSummed,
avg(case when ament2 in ('r1','r2') then currbal end) CurrbalAveragedForR1R2
From [table]
group by id
選択リストに完全な副選択を書き込むことができます。
SELECT ...,
(SELECT AVG(Currbal) FROM Table WHERE ament2 IN ('r1', 'r2')) AS avg_currbal,
...
FROM ...
それがあなたが望むことを正確に行うかどうかは、多くのことに依存します。それを相関サブクエリにする必要があるかもしれません。「ament2」がテーブルにあると仮定すると、現時点では相関サブクエリではありません。
句AVG
内のテーブル参照内で、ステートメントに埋め込みたい他のすべての合計を入れることができます。FROM
何かのようなもの:
SELECT AVG(currbal)
FROM
(
SELECT * -- other sums
FROM table
WHERE ament2 IN ('r1','r2')
) t