プロが教える店舗&オフィスのセキュリティ対策術

質問をさせていただきたいのですが、
Accessで別のテーブルに有るカラムを合計した金額をもとに、
テーブルを更新するにはなにかよい案などございませんでしょうか。

具体的にもうしますと、
AテーブルとBテーブルがありまして、AテーブルのA1というカラムの値をsumし
た値を
BテーブルのB1というカラムに入れるアップデート文を作成したいのです。
AテーブルのA2とBテーブルB2というカラムは同じ値が一意で入っています。
インターネットで検索した、今回行おうとしている事に近い方法を
試しても上手くいきませんでした。
大変申し訳ございませんが、お知恵をお貸しいただけませんでしょうか。

以上です。
よろしくお願いいたします。

A 回答 (3件)

#2です


訂正です。

#2では、#1の補足を元に、サブクエリ部分を関数に置き換えましたが、
質問を読み直してみると、A, B 逆ですね。

書き方一緒で、内容を逆にしてみて、どうなりますか。
    • good
    • 0
この回答へのお礼

取り急ぎお礼申し上げます。
回答いただきありがとうございます。

最終的に、合計値をもった仮テーブルを作成し、
仮テーブルをもとに更新処理を行いました。

教えていただいたSQLにつきましては、
後日試させていただきます。

急ぎでもうしわけありません。
ありがとうございました。

お礼日時:2012/06/05 21:56

たぶん、サブクエリでの値では??



以下に変更してどうなりますか(未検証)
(KEY は数値型の場合)

update A a
set a.FIELD = DSum("FIELD","B","KEY = " & a.KEY)
where exists (
select 1
from B bb
where bb.KEY=a.KEY)
    • good
    • 0

ためしたほうほうかかないとまちがいしてきできないよ

この回答への補足

すみませんでした。
初質問なので慣れていませんでした。
SQLは、

update A a
set a.FIELD = (
select sum(b.FIELD) from B b
where a.KEY = b.KEY
)
where exists (
select 1
from B bb
where bb.KEY=a.KEY)

です。

補足日時:2012/06/02 15:56
    • good
    • 0

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