Access (一般機能)

Accessの一般機能に関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 7全般 : Access 2007)
削除の方法について教えてください
投稿日時: 18/02/08 16:01:55
投稿者: いわちゃん

[社名]と[金額]が+と−が同じ額だった場合、レコード削除したいです。
 
 社名    支払日        金額
1|AAA    2018/1/1  1000
2|AAA    2018/1/3  500
3|BBB    2018/1/1  800
4|AAA    2018/2/4 -1000
5|AAA    2018/2/2 -4000
6|BBB    2018/3/1  -800
 
例)1と4レコード目と3と6レコード目を相殺し、2、5レコード目だけを抜き出したい。
 
ご存知の方がいれば、お願いいたします。

回答
投稿日時: 18/02/08 17:43:07
投稿者: sk

・そのテーブルの主キーはどのフィールドなのか。
 
・[社名]と[金額]の値の組み合わせが
 他のレコードと重複するケースが存在する場合は
 どのように扱うのか。
 
・[社名], [支払日], [金額]の値の組み合わせが
 他のレコードと重複するケースは存在しないのか。

投稿日時: 18/02/09 10:30:07
投稿者: いわちゃん

skさん、ありがとうございます。
 
主キーは設定してません。
値の組み合わせは、重複しません。
 
よろしくお願いします。

回答
投稿日時: 18/02/09 10:53:56
投稿者: sk

引用:
主キーは設定してません。
値の組み合わせは、重複しません。

以下の選択クエリのような結果を得られればよい、
ということでしょうか。
 
( SQL ビュー)
---------------------------------------------------------
SELECT [テーブル名].[社名],
       [テーブル名].[支払日],
       [テーブル名].[金額]
FROM [テーブル名]
WHERE NOT EXISTS
      (SELECT tmp.*
       FROM [テーブル名] tmp
       WHERE tmp.[社名] = [テーブル名].[社名]
         AND tmp.[金額] = -[テーブル名].[金額]);
---------------------------------------------------------
(テーブル名は適宜修正すること)

トピックに返信