• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アクセス複数テーブル時のORDER BY の記述)

アクセス複数テーブル時のORDER BYの記述

このQ&Aのポイント
  • アクセス2010で複数テーブルから特定の条件でデータを抽出する際に、ORDER BY句をどのように記述すれば良いか悩んでいます。
  • 具体的には、テーブルBとテーブルCの一部のフィールドを足し合わせた結果の上位2つの値を持つテーブルAを作成したいですが、どこにORDER BY句を書けば良いのか分かりません。
  • 現在、DoCmd.RunSQLを使用してSQL文を実行していますが、テーブルBのフィールドとテーブルCのフィールドを足し合わせた後、ORDER BY句を適用する方法が分かりません。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

サブクエリでテーブルBの上位2位を先に抽出しておきます。 下記のコードでどうでしょうか。 DoCmd.RunSQL "INSERT INTO テーブルA (F1) " & _ "SELECT T.F1 & テーブルC.F1 " & _ "FROM (SELECT TOP 2 * FROM テーブルB ORDER BY テーブルB.F2 ) AS T, " & _ "テーブルC Where ~~~;"

situmonnsya
質問者

お礼

はぁ~なるほど!! FROM の中に先にトップ2を作ることが出来るのですね。 その方法、記述を知らなくてトップ2の一時テーブルを作ってしのいでいました。 お礼が遅くなって申し訳ありません。 いつも、ありがとうございます。

関連するQ&A