Key TableAごとに多くのコスト列を持つテーブルがあります
SK1 SK2 Col1 Col2 Col3..... Col50 Flg(Y/N)
1 2 10 20 30 ...... 500 Y
1 2 10 20 30 ...... 500 N
2 2 10 20 30 ...... 500 N
すべての値を集計 (合計) し、Y の値があるかどうかを確認してから、それらを新しい tableB に追加する必要があります。ここで、テーブル (sk1,sk2) のレコードの組み合わせ (1,2) が返されます。
私が書いたクエリは、すべての列の lisr を選択し、グループとして追加することです。大量のデータがあるため、このクエリの実行には時間がかかりすぎます。これを再検討して、より高速になるようにする機会があれば。
select Sk1, Sk2, nvl(sum(col3),0), nvl(sum(col4))0, ..... nvl(sum(col50)) テーブルからSk1, Sk2によるグループ
私はこれを大規模なクエリの一部として使用しており、他の多くの計算がこれに基づいて実行されます。