特定のバッチタイプを除いた期間あたりのコードあたりの総量を要約するスクリプトを作成しようとしています。sql sum caseが要約されていません
スクリプトは実行されますが、コードごとのデータは要約されません。私は間違って何をしていますか?
また、スクリプトを書く良い方法がある場合は、フィードバックを歓迎します。私はあなたがGROUP BY句でdet_nett列を必要としないと思う
おかげ
SELECT
(CASE
when DET_ledger = 'NL' and det_nominaldr = '' then det_nominalcr
when DET_ledger = 'NL' and det_nominalcr = '' then det_nominaldr
else det_analysis
end) as Code,
DET_YEAR,
DET_PERIODNUMBR,
sum(CASE
when DET_ledger = 'NL' and det_nominaldr = '' then -1* det_nett
when DET_ledger = 'PL' and det_type = 'CRN' then -1* det_nett
else det_nett
end) as Net
FROM SL_PL_NL_DETAIL
where det_year = 'C'
and det_periodnumbr = '07'
and (det_nominalcr like '617%' or det_nominaldr like '617%')
and det_primary not in
(select det_primary
from sl_pl_nl_detail
where det_ledger in ('PL','SL')
and det_batch_flag = 1)
group by det_nominaldr, det_nominalcr, det_nett, det_ledger, det_year, det_periodnumbr, det_analysis, det_type
あなただけの 'SELECT *'と 'GROUP BY'をスキップしない場合、結果は罰金見えますか? – jarlh
合計を除外すると、正しいデータが返されます。しかし、今年はデータベースに約1mの翻訳が含まれているため、データを要約する必要があります。 – Monty