限定しりとり

アクセスで添付画像のようなテーブルがあり、重複データの抽出を行いたいです。
抽出結果は
1 50 4
1 -50 5
1 50 8
5 -70 19
5 70 1
となるようにしたいです。
つまり、
・フィールド1が同じ 且つ フィールド2の絶対値が等しい
・ただしフィールド2が「0より大きいのみ」 または「0より小さいのみ」 の場合は抽出しない
(プラスとマイナスの値が最低1つずつ含まれる)
という条件です。

abs関数を使い、フィールド2の絶対値を出すのは出来たのですが、そこから先で行き詰っています。
どのように行えばよいか、お分かりの方お教え下さい。
よろしくお願いいたします。

「アクセスの重複データ抽出について」の質問画像

A 回答 (1件)

テーブル名を「★★」


フィールド名を「F1」「F2」「F3」
と仮定します。

以下を、クエリのSQLビューに記述しどうなりますか。

SELECT * FROM ★★ AS Q1
WHERE Exists (SELECT 1 FROM ★★ WHERE F1=Q1.F1 AND F2=-Q1.F2);

F1 が同じで F2 の負号を反転したものがあるか・・・・
(正だけ・負だけは除外する様なので)

※ 処理性能はわかりません
※ 不都合あれば修正してください
    • good
    • 0
この回答へのお礼

ありがとうございます!!
希望どおりの結果が出て思わず声を上げてしまいました。
こんなに早くご回答いただけて心から感謝いたします。
大変助かりました。ありがとうございます。

お礼日時:2013/05/16 18:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!