• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:テーブル間のデータ計算)

テーブル間のデータ計算についての質問

このQ&Aのポイント
  • 質問者はデータベース初心者で、商品テーブルと売価テーブルのデータを使用したテーブル間の計算方法を知りたいと述べています。
  • 売価テーブルの同じコードの区分1の売価フィールドに、商品テーブルの定価に0.85を掛けた結果を上書きする方法が求められています。
  • 質問者はAcces2000のクエリーを使用してこの計算を行いたいとしています。

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

  • ベストアンサー
  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.2

当方も大したレベルではないのですが、勉強のためにやってみました。 クエリのデザインビューで、商品テーブルと売価テーブルを配置し、コードで結合します。 売価テーブルのフィールドをドラッグ&ドロップします クエリの種類を更新クエリに変更します。 区分の抽出条件に1を、売価のレコード更新の欄に、売価に0.85を掛けて、小数点以下で切り上げる関数を入力します。 SQLビューにすると、下記のようなSQLになっておりました。 小数点以下切り上げのところは、もっとスマートにならないものかと思いますが、エクセルの様な便利な関数はなさそうですね。 以上、質問で提示されたデータの範囲内ではうまくいった様ですが、処理後の 004, 1, 37 は間違いですね? UPDATE 商品テーブル INNER JOIN 売価テーブル ON 商品テーブル.コード = 売価テーブル.コード SET 売価テーブル.売価 = IIf(Int([定価]*0.85)=[定価]*0.85,[定価]*0.85,Int([定価]*0.85+1)) WHERE (((売価テーブル.区分)=1));

p-p
質問者

お礼

すいません お礼の入力しておりませんでした 大変遅くなりましたがありがとうございました

その他の回答 (1)

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

もっとスマートな書き方があるかもしれませんが。 UPDATE 商品テーブル INNER JOIN 売価テーブル ON 商品テーブル.コード = 売価テーブル.コード SET 売価テーブル.売価 = IIf(Int([商品テーブル]![定価]*0.85)=([商品テーブル]![定価]*0.85),([商品テーブル]![定価]*0.85),Int(([商品テーブル]![定価]*0.85)+1)) WHERE (((売価テーブル.区分)=1));

p-p
質問者

お礼

すいません お礼の入力しておりませんでした 大変遅くなりましたがありがとうございました

関連するQ&A