以下のクエリがあります。特定の基準でレコードの数を取得し、cstmr_idでグループ化されたレコードの総数で割ろうとしています。ただし、エラーが発生します。どんな助けでもいただければ幸いです。また、このステートメントはサブクエリであり、より大きな選択クエリの一部です。SQLServer2005を使用しています
「'/'の近くの構文が正しくありません」エラーが発生する
声明:
((SELECT count(*) FROM cstmr WHERE active=1 AND cstmr_type LIKE '%dtr%'
GROUP BY cstmr_id)
/ --division sign here. dividing top query by bottom
(SELECT count(*) FROM cstmr WHERE cstmr_type LIKE '%dtr%'
GROUP BY cstmr_id) ) As cstmr_rate
cstmrテーブルのサンプルデータ:
cstmr_id cstmr_type active
3423 dtr 1
1236 dtr 1
1842 dtr 1
8273 sys 2
9384 aod 1
3847 sys 2
期待される結果のサンプル:
cstmr_id cstmr_rate
3423 88.98
1236 25.21
1842 58.01
基本的な擬似コード
タイプが「dtr」のアクティブな顧客のみを選択し、顧客の総数で割ります。次に、個々の顧客ごとにこの導出された比率を表示します。これは非常に基本的な方程式であり、同じテーブル「cstr」を使用します