- ベストアンサー
特定のレコードのみの更新クエリ
過去ログより、項目の更新クエリはありましたが、 特定のレコードの更新方法はどう考えればいいのかアドバイスください。 テーブルには、毎月あたらしいデータがインポートされていきますが、 前月と比べて同じレコードは削除して常に新しいレコードにしておきたいのですが、これは一旦、重複クエリで重複レコードすべて削除してから新しいデータをインポートする2段階の方法をとるしかないのでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>レコードの更新の欄には、各フィールドに関して、どのように書くべきなのでしょうか? 書き換えたいデータが入っている方のテーブルのフィールド名を書きます (フィールド名が同じ場合にはテーブル名もつけた形で書きます)
その他の回答 (3)
- CHRONOS_0
- ベストアンサー率54% (457/838)
>商品番号、もしくは商品名が一緒という 特定なレコードを抽 >出する、構文がどうしてもわかりません。 クエリで同じものを結合するだけでいいのでは >Bテーブルは毎月テーブルが入ってくると >きに、一旦データ削除し、もういちど新しいデータを >Bテーブルにインポートするという過程をすればいいのでしょうか? こうするのがテーブル名やリレーションシップが変らないので一番いいですね
お礼
ありがとうございます。 単純なことまで見えなくなってしまうそれだけ、まだスキルがないんですね。それで更新クエリで更新というのはわかるのですが、 レコードの更新の欄には、各フィールドに関して、どのように書くべきなのでしょうか?これもまたSQLをひらいて、関数等をかいていかないといけないのでしょうか? もとのデータに対して、特定レコードのみ更新する場合の更新欄の書き方がわかりません。
- yambejp
- ベストアンサー率51% (3827/7415)
どのSQLを使うかによってだいぶ違うとおもいますが、 今回の件であればUPDATEでたいていできてしまいそうですけどね・・・ あとはミドルウェア次第
- CHRONOS_0
- ベストアンサー率54% (457/838)
特定のレコードだけを取り出すクエリを作り それを更新クエリに変えてやればいいのです
お礼
CHRONOS_0さん。毎回の質問に答えてくださりありがとうございます。 削除クエリではなく、データ抽出後の更新クエリというアドバイス、了解いたしました。 Aテーブル(元になるテーブル) [商品番号] [商品名] Bテーブル(毎月のテーブル) [商品番号] [商品名] ただ、この場合、商品番号、もしくは商品名が一緒という 特定なレコードを抽出する、構文がどうしてもわかりません。 毎月のテーブルは毎回かわるのに、それを制御する構文がつくれるのでしょうか? それと毎月のデータからテーブルを作るので、一度、特定のレコードだけを取り出すクエリを作った場合、この場合、Bテーブルは毎月テーブルが入ってくるときに、一旦データ削除し、もういちど新しいデータをBテーブルにインポートするという過程をすればいいのでしょうか?
お礼
>フィールド名が同じ場合にはテーブル名もつけた形で書きます これで納得でうまくいきました。更新クエリも色々苦労してやっとできたかんじです、アドバイスありがとうございました。