Access の UPDATE では サブクエリに UNION を含められない

タイトル通りです。

Access は、SELECT ステートメントでサブクエリを使う際には UNION が使えますが、UPDATE ステートメントではサブクエリに UNION を含められないようなんです。

解決方法としては、クエリとして別に保存してあげるか、UNION の前後に対して、UPDATE ステートメントをそれぞれ書いてあげるしかないようです。

前者は余計なオブジェクトが増えるのでなんか嫌ですし、後者はトランザクションの関係で(Access ですけれども!)嫌なんです。

SQL は弱いんですよ、自分・・応用が利かない~

ダメな例)
[code lang=’sql’] UPDATE T1 SET F1=F2
WHERE F3 IN (
    SELECT F4 FROM T2
    UNION
    SELECT F4 FROM T3
)
[/code]

Follow me!

コメントを残す