アプリ版:「スタンプのみでお礼する」機能のリリースについて

お尋ねします。

データをダブって入力してしまい、重複クエリを使ってダブったデータを抽出したのですが、ダブっているデータの片方だけを削除する方法がわかりません。

削除クエリにしてWhere条件式を書くのだろうと思いますがどう書けばいいのでしょうか?

たとえば、日付、金額、入金(または出金)の3つのデータがダブっているクエリ抽出結果においては、各フィールドのWhere条件式にどう記述すればいいのでしょうか?
教えてください。

A 回答 (3件)

No.2のものです。



>「重複クエリで抽出されたデータ」は重複しているレコードだけですよね。それで>テーブルを作っても重複しているレコードだけになるのではないのですか?
>ダブっていない、という意味を教えてください。

説明不足の点がありましたね。
重複クエリーの表示には二通りあるかと思います。
1.重複データが上下に並んで表示されているもの
 (特定の項目だけ重複チェックした場合)
2.最後のフィールドに重複データ数が表示されていて見かけ上は重複していないもの

jetstreamさんの場合、データをダブって入力したということなので
たぶん2.ではないかと思います。
(いや、1.だよと言う場合はそのクエリーをグループ化します。表示-集計)

そのクエリーをコピーした後デザインで開き、クエリーを「テーブル作成クエリー」に
変え、実行(!ボタン)をクリックします。

作成したテーブルを見て下さい。重複していませんよね?
それが確認できたら最初の重複クエリーで抽出したデータを
元のテーブルから削除します。

その後新しく作ったテーブルのデータを追加クエリーで投入します。

またわからなかったら聞いて下さい。

※なかなかこういうのって文字だけじゃ伝わらないですよね・・

くれぐれも大事なデータだと思いますので
コピーなどしてから試して下さいね。
    • good
    • 0

Accessだという前提ですが、すごく原始的な方法です。


条件式等の記述はいりません。クエリーだけでやります。

重複クエリーで抽出されたデータで一旦テーブルを作っちゃいます。
グループ化されているはずなので当然このテーブルの中はダブっていませんよね?

元のテーブルの重複データは全部削除しちゃいます。
その後先程作ったテーブルのデータを追加クエリーで追加します。

これではだめですか?
説明不足があれば言って下さい。

この回答への補足

ありがとうございます。
そんな方法もあるんですね。
私、Access初心者なもんで、基本的なことをお聞きします。

「重複クエリで抽出されたデータ」は重複しているレコードだけですよね。それでテーブルを作っても重複しているレコードだけになるのではないのですか?
ダブっていない、という意味を教えてください。

補足日時:2003/02/23 18:31
    • good
    • 0

お使いのDBMSが何なのかわかりません(Jetですかね?)が、


WHERE句にサブクエリーを書けばよいのでは?
一例ですが、

WHERE Field Not In
(SELECT DISTINCT ......
)

のような要領で。

この回答への補足

回答いただきありがとうございます。
私はいまAccess2000でDBを作っています。
基本的な質問ですみません。
1)サブクエリってなんですか?
2)例の式は削除クエリのWhere句に書くのですか?
  式の意味がよくわかりません。すこし解説を頂けませんか?

よろしくおねがいします!

補足日時:2003/02/23 18:39
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す


このQ&Aを見た人がよく見るQ&A