- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:テーブル間のデータ計算)
テーブル間のデータ計算についての質問
このQ&Aのポイント
- 質問者はデータベース初心者で、商品テーブルと売価テーブルのデータを使用したテーブル間の計算方法を知りたいと述べています。
- 売価テーブルの同じコードの区分1の売価フィールドに、商品テーブルの定価に0.85を掛けた結果を上書きする方法が求められています。
- 質問者はAcces2000のクエリーを使用してこの計算を行いたいとしています。
- みんなの回答 (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));
その他の回答 (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));
質問者
お礼
すいません お礼の入力しておりませんでした 大変遅くなりましたがありがとうございました
お礼
すいません お礼の入力しておりませんでした 大変遅くなりましたがありがとうございました