- ベストアンサー
ACCESSのSQLの書き方
ACCESSでのSQL文の書き方を教えてください。 テーブルtbl_Aとテーブルtbl_Bがあり, tbl_Aで得られた数値とtbl_Bで得られた数値を加えたものを結果として表示します。 どう書けばよろしいのでしょうか。どうしてもエラーになってしまいます。 イメージとしてはこんな感じです。 select (select ~~ from tbl_A where ~~)+(select ~~ from tbl_B where ~~) (もしoracleならば,「from dual」というのを最後に付けるんですが。)
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
(1)ダミーでテーブルを指定します。先頭1件だけ抽出します。 select top 1 (select ~ from tbl_A where ~)+(select ~ from tbl_B where ~) AS 結果 FROM tbl_A,tbl_B (2)FROM句にクエリを使います。 select A.数値+B.数値 AS 結果 FROM (select ~ AS 数値 from tbl_A where ~) AS A, (select ~ AS 数値 from tbl_B where ~) AS B 個人的には(2)ですかね。ASを除けば、Oracle等とも互換性のある 書式です。 (select ~)は1レコード1項目しか無いと想定しています。
その他の回答 (2)
- 6657
- ベストアンサー率63% (7/11)
select ~~ from tbl_A where ~~ union select ~~ from tbl_B where ~~ ユニオンクエリーを作成し、そのクエリーをテーブルにした 集計クエリーを作成する。
- chukenkenkou
- ベストアンサー率43% (833/1926)
tbl_Aとtbl_Bは、どうやって結合するのですか? ユニークなキーがあるのですよね?
お礼
ありがとうございます。参考になりました。 とりあえず、デザインの画面をいろいろいじって出来たのは、 SELECT [b1]+[b2] AS 合計 FROM [SELECT [b1] FROM tbl_A WHERE ~~ ]. AS クエリ1, [SELECT [b2] FROM tbl_B WHERE ~~ ]. AS クエリ2;