1

そうそう、MS Access...

重複を含むテーブルがあり、本質的に重複がある場合は、両方のレコードを削除する必要があります。これは可能ですか?

複雑なことに、私が「重複」と呼んでいるものは、すべてのフィールドで真に重複しているわけではありませんが、主要なフィールドで重複しています。

これが表です(あまりきれいにフォーマットされていません):

ID  documentDate    accountNetAmount    reference   accountTaxAmount    getBankAccount  getCompany  isReconciled    oid
11  6/30/2013   20687.7 REFTe   0   02537.0000000014    02544.0000000023    1   02364.0000000078
12  6/30/2013   -20687.7    EFTe    0   02537.0000000014    02544.0000000023    0   02364.0000000079
13  6/30/2013   14935.41    REFTf   0   02537.0000000014    02544.0000000023    1   02364.0000000080
14  6/30/2013   -14935.41   EFTf    0   02537.0000000014    02544.0000000023    0   02364.0000000081
15  7/4/2013    -294.55 MIMOSA  -29.45  02537.0000000014    02544.0000000023    0   02364.0000000177
16  7/8/2013    -1185.81    BPAY080713  -118.58 02537.0000000014    02544.0000000023    0   02364.0000000499
17  7/9/2013    -462.05 PERFUME -46.2   02537.0000000014    02544.0000000023    0   02364.0000000179
18  7/9/2013    -1264.09    PERFUMERY   -126.41 02537.0000000014    02544.0000000023    0   02364.0000000181

documentDate と abs(accountNetAmount) が同じレコードを削除する必要があります。したがって、私の結果セットは次のようになります。

ID  documentDate    accountNetAmount    reference   accountTaxAmount    getBankAccount  getCompany  isReconciled    oid
15  7/4/2013    -294.55 MIMOSA  -29.45  02537.0000000014    02544.0000000023    0   02364.0000000177
16  7/8/2013    -1185.81    BPAY080713  -118.58 02537.0000000014    02544.0000000023    0   02364.0000000499
17  7/9/2013    -462.05 PERFUME -46.2   02537.0000000014    02544.0000000023    0   02364.0000000179
18  7/9/2013    -1264.09    PERFUMERY   -126.41 02537.0000000014    02544.0000000023    0   02364.0000000181

助言がありますか?そして忘れないでください、MS Access...うーん。

ありがとう!

4

1 に答える 1

1

思いつきで、あなたが重要だと考える分野に基づいてグループ分けを試みます。何かのようなもの

SELECT documentDate, abs(accountNetAmount) , count(*)
FROM yourtable
GROUP BY DocumentDate, abs(accountNetAmount)
HAVING count(*) = 1

上記のクエリは、テーブルと結合して重複を削除したリストを取得できるビューになる可能性があります。

于 2013-10-21T05:20:46.753 に答える