以下のように私は、データを持っている:私はcolumn id, region, company, dept, subdept and amountsepend
を使用してMatching_id
とMatching_Type
を更新する必要がSQL ServerのSQLステートメント - 更新記録
。論理は:
Sum AmountSepend by Region, Company, Dept and SubDept
です。合計金額が0の場合、Matching_Typeは 'Match'であり、Matching_idは一致したレコードのidと 'Not Match'の組み合わせであり、Matching_idはidです。 ** SUMは、AmountSependが正または負であっても、同じ基準のすべてのレコードの合計を意味します。
もう1つの重要な基準は、トランザクションが単一レコードである場合です。つまり、Region、Company、Dept、およびSubDeptによるグループ化の合計数が1であり、AmountSependが0または正/負であるかどうかにかかわらず一致タイプが不一致でMatching_UIDがid値。例のIDの下に8
が出力されます。私は、このような結果を達成できるかここで
テーブルとデータスクリプト
CREATE TABLE [dbo].[StackoverflowQuest](
[id] [int] NOT NULL,
[Region] [varchar](50) NULL,
[Company] [varchar](50) NULL,
[Dept] [varchar](50) NULL,
[SubDept] [varchar](50) NULL,
[AmountSepend] [float] NULL,
[Matching_id] [varchar](100) NULL,
[Matching_Type] [varchar](100) NULL
) ON [PRIMARY]
?任意のヘルプ/ヒントは高く評価されます
あなたはまだこの解決策をお探しですか? – andrews