公式アカウントからの投稿が始まります

ユニオンクエリで開いたクエリは修正することはできないのでしょうか?
新たにクエリ上で作ったフィールドではなく、元々テーブルにあるフィールドの情報を変更したいのですができません。
これを回避する方法はありますか?(アクセス2003です)
よろしくお願い致します。

A 回答 (1件)

UNION演算子は複数の問合せを結合します。



tab1:

fld1_fld2
朝______1
昼______2
夜______3

SELECT fld1,fld2 FROM tab1 WHERE fld1="朝"
UNION
SELECT fld1,fld2 FROM tab1 WHERE fld1="昼"
UNION
SELECT fld1,fld2 FROM tab1 WHERE fld1="夜";

UPDATE [クエリ1] SET fld2=fld2*2;

この場合、[更新可能なクエリを指定してください]のエラーで実行されないですね。
UNION演算子は、複問合せやビューの定義では使用することができないからかも知れません。
これは、UNION演算子の目的から致し方ないことではないでしょうか?

ところで、UNION演算子を用いて作成された複合問合せは単一の問合せで記述することも可能。

UPDATE [SELECT fld2 FROM tab1 WHERE fld1='朝' Or fld1='昼' Or fld1='夜']. AS [%$##@_Alias] SET fld2 = fld2*2;

<UNION演算子を用いて作成している複合問合せを単一の問合せに変更>

プログラマでもないズブの素人が未テストで<そうじゃないのかなー>という程度の答えです。
実際は、やってみて試してください。
    • good
    • 0
この回答へのお礼

大変参考になりました。ご回答ありがとうございます。

お礼日時:2008/10/28 15:47

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