これが私のテーブルのスクリーンショットです
sales_contract_nbrとnameでグループ化すると、 PostAmtの合計が0になるすべての行を削除しようとしています。
例えば :
sales_contract_nbr 51101008103は、名前でグループ化すると削除され、sales_contract_nbrは合計が0になると-96.83および96.83として削除されます。
非常に単純ですよね?
しかし、これとは別に、グループ内の契約を削除したいということです。つまり、契約51101008195がグループ化されている場合、それは533.87になり、削除されません(強調表示されます)。
でもグループで削除したい
たとえば、契約番号51101008195の2つの行を最初に合計する必要があります(下の画像を参照) 。つまり、合計0を取得するには、金額-533.87と533.87を合計する必要があります。契約のレコードは1つだけ残しておく必要があります。
アップデート
詳細説明:
私がやりたいのは、最初に行番号1と2をグループ化し(1つは正、もう1つは負の量を一致させる)、次に他の行をグループ化することです。同じ契約番号の行が4つある場合は、行1と行2をグループ化する必要があります。絶対量が同じであれば、行番号3と4が削除されない場合は、行3と行4をグループ化する必要があります。 。
group byを使用して、合計が0になり、同じ名前または契約番号を持つ行を削除したいと思います。
質問を明確にしたと思います。そうでない場合はお問い合わせください。
どのようにそれを行うことができますか?
私が今までやっているのは:
SELECT sales_contract_nbr
,name
,SUM(PostAmt) PostAmt
FROM tblMasData
GROUP BY sales_contract_nbr, name
ありがとう。