次のクエリを実行しています。
ProdCode として isnull(right(araccltid,4),'Tot') を選択し、araccount から NumofAccounts として count(aracid) を選択します。ここで、right(araccltid,4) は 5109 から 5112 の間で、right(araccltid,4) でグループ化し、ロールアップします。
winSQL を使用すると、以下が返されます。
ProdCode NumofAccounts
5109 21864
5110 4206
5111 7380
5112 40075
合計 73525
これが表示されるように、パーセンテージ列を追加したいと思います。
ProdCode NumofAccounts パーセンテージ
5109 21864 29.74
5110 4206 5.72
5111 7380 10.04
5112 40075 54.51
合計 73525 100.00
私はそのようにスクリプトを調整しようとしました:
isnull(right(araccltid,4),'Tot') を ProdCode として選択し、count(aracid) を NumofAccounts として選択し、count(aracid)/tblCount.AcctCount を aaccount からのパーセンテージとして選択します (count(aracid) を aaccount から AcctCount として選択します。 araccltid,4) 5109 ~ 5112) as tblCount where right(araccltid,4) between 5109 and 5112 group by right(araccltid,4) with rollup
しかし、私はこのエラーが発生します:
エラー: 列 'tblCount.AcctCount' は、集計関数にも GROUP BY 句にも含まれていないため、選択リストでは無効です。(状態: 37000、ネイティブ コード: 1FB8)
何か助けはありますか?