3月 29
3月 13
2月 29
2月 28
タイトル通りです。
Access は、SELECT ステートメントでサブクエリを使う際には UNION が使えますが、UPDATE ステートメントではサブクエリに UNION を含められないようなんです。
解決方法としては、クエリとして別に保存してあげるか、UNION の前後に対して、UPDATE ステートメントをそれぞれ書いてあげるしかないようです。
前者は余計なオブジェクトが増えるのでなんか嫌ですし、後者はトランザクションの関係で(Access ですけれども!)嫌なんです。
SQL は弱いんですよ、自分・・応用が利かない~
ダメな例)
UPDATE T1 SET F1=F2 WHERE F3 IN ( SELECT F4 FROM T2 UNION SELECT F4 FROM T3 )
2月 24
次の構文を使用して、JOIN ステートメントをネストすることができます。
SELECT fields FROM table1 INNER JOIN (table2 INNER JOIN [( ]table3 [INNER JOIN [( ]tablex [INNER JOIN ...)] ON table3.field3 compopr tablex.fieldx)] ON table2.field2 compopr table3.field3) ON table1.field1 compopr table2.field2;
Access 開発者用リファレンスには、このように載っていました。Access では、結合するテーブルを確定するために、() で括る必要があるようです。
SQL Server などでは () で括らなくても動作します。ハマりどころです。
例えばこんな:
( T1 INNER JOIN T2 ON T1.key=T2.key) AS T12 INNER JOIN T3 ON T12.key=T3.key
2月 21



Recent Comments