いくつかの詳細レコードのいくつかのフィールドの合計がヘッダーレコードの合計フィールドと等しいかどうかを確認するSQLサーバー2005のクエリを作成しようとしています。これは私が働いている会社の小切手の電子デポジットの作成に使用されます。SQL Server 2005の集計クエリ
階層は次のようになります。 - >バッチ - 預金電子預金のためのファイルを作成する前に>をチェック
、複製は完全に各テーブルに完了していない可能性がありますので、私はあることを確認するためにチェックする必要がありますファイルを作成する前に各レコードがそこにあります。基本的には、適切なバッチ数と正しい数のチェックがそれぞれのテーブルに存在する、DepositテーブルからロケーションとIDのリストを選択したいと思います。
ここに私が持っている論理があります。
select location, d.id from closing_balance..cb_deposits as d
left outer join closing_balance..cb_checkbatchhf as b on d.id = b.deposit_id and d.location = b.loc
left outer join closing_balance..cb_checkdf as c on b.id = c.batch_id and b.loc = c.loc
where sum(c.check_amt) = b.scanned_subtotal and sum(b.scanned_subtotal) = d.amount and sum(b.num_checks_scanned) = d.count
where節に集計関数の合計を入れることができないため、上記は機能しません。私はこれをプログラム的に簡単に行うことができますが、SQL文でこれをすばやく行う巧妙な方法があれば、それが最適です。
ご協力いただきまして誠にありがとうございます。
ありがとうございます!
覚えておいてください:WHERE - 考慮事項から行を削除し、残りの行をグループ化し、HAVINGはグループを削除します –