• ベストアンサー

特定のレコードのみの更新クエリ

過去ログより、項目の更新クエリはありましたが、 特定のレコードの更新方法はどう考えればいいのかアドバイスください。 テーブルには、毎月あたらしいデータがインポートされていきますが、 前月と比べて同じレコードは削除して常に新しいレコードにしておきたいのですが、これは一旦、重複クエリで重複レコードすべて削除してから新しいデータをインポートする2段階の方法をとるしかないのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.4

>レコードの更新の欄には、各フィールドに関して、どのように書くべきなのでしょうか? 書き換えたいデータが入っている方のテーブルのフィールド名を書きます (フィールド名が同じ場合にはテーブル名もつけた形で書きます)

9nainai9
質問者

お礼

>フィールド名が同じ場合にはテーブル名もつけた形で書きます これで納得でうまくいきました。更新クエリも色々苦労してやっとできたかんじです、アドバイスありがとうございました。

その他の回答 (3)

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.3

>商品番号、もしくは商品名が一緒という 特定なレコードを抽 >出する、構文がどうしてもわかりません。 クエリで同じものを結合するだけでいいのでは >Bテーブルは毎月テーブルが入ってくると >きに、一旦データ削除し、もういちど新しいデータを >Bテーブルにインポートするという過程をすればいいのでしょうか? こうするのがテーブル名やリレーションシップが変らないので一番いいですね

9nainai9
質問者

お礼

ありがとうございます。 単純なことまで見えなくなってしまうそれだけ、まだスキルがないんですね。それで更新クエリで更新というのはわかるのですが、 レコードの更新の欄には、各フィールドに関して、どのように書くべきなのでしょうか?これもまたSQLをひらいて、関数等をかいていかないといけないのでしょうか? もとのデータに対して、特定レコードのみ更新する場合の更新欄の書き方がわかりません。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

どのSQLを使うかによってだいぶ違うとおもいますが、 今回の件であればUPDATEでたいていできてしまいそうですけどね・・・ あとはミドルウェア次第

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.1

特定のレコードだけを取り出すクエリを作り それを更新クエリに変えてやればいいのです

9nainai9
質問者

お礼

CHRONOS_0さん。毎回の質問に答えてくださりありがとうございます。 削除クエリではなく、データ抽出後の更新クエリというアドバイス、了解いたしました。 Aテーブル(元になるテーブル) [商品番号] [商品名]  Bテーブル(毎月のテーブル)  [商品番号] [商品名] ただ、この場合、商品番号、もしくは商品名が一緒という 特定なレコードを抽出する、構文がどうしてもわかりません。 毎月のテーブルは毎回かわるのに、それを制御する構文がつくれるのでしょうか? それと毎月のデータからテーブルを作るので、一度、特定のレコードだけを取り出すクエリを作った場合、この場合、Bテーブルは毎月テーブルが入ってくるときに、一旦データ削除し、もういちど新しいデータをBテーブルにインポートするという過程をすればいいのでしょうか?

関連するQ&A