- - PR -
Accessのクエリ記述について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-05-31 13:25
初歩的なことかもしれないのですが質問させて下さい。
会社毎の毎月の請求金額を集計する以下のようなクエリがあります。 TRANSFORM Sum(料金) AS 料金合計 SELECT 請求年, 会社コード, 会社名, Sum(料金) AS 料金 FROM 集計明細TBL WHERE 請求年=2007 GROUP BY 会社コード, 会社名, 請求年 PIVOT Format(請求月,"#0月") In ("1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"); ところがある時点で会社名が変わると、古い会社名と新しい会社名で別々に集計されてしまいます。これを分けずに統合するにはどうしたらいいでしょうか? GROUP BY句から会社名を外すとSELECT句に会社名を含められませんし…(集計タイミングに関わらず、新しい会社名だけ得られれば結構です。)。 使用しているのはAccess2000です。 上記の件に関してどうかご教授願います。 | ||||
|
投稿日時: 2007-05-31 14:33
こんにちは。
>>新しい会社名だけ得られれば結構です とあるので、旧会社名と新会社名は同じ会社コードでしょうか。 であるならば、提示されたSQL文から会社名を除いて集計し、 結果の会社コードで新会社名を(副問い合わせかなんかで) 取得するのはどうでしょうか | ||||
|
投稿日時: 2007-05-31 17:20
イシバシ様
こんにちは。レスありがとうございます。 返信が遅れてすいません(調べてました)。 >>旧会社名と新会社名は同じ会社コードでしょうか。 会社コードは同じで会社名だけ変更となります。 「副問い合わせ」というものの知識がなかったので検索して調べてみました。 大体のことは理解できた(…と思う)のですが、今回のクエリへの適用方法が思いつきませんでした。 …が、副問い合わせを調べている過程で1つ思いつきました。 「集計明細TBL」テーブルとは別に「会社マスタ」テーブルがあり、こちらに会社コードとそれに対する最新の会社名が入っていますので、 イシバシ様の仰るように最初に提示したクエリから会社名を除いたものを「クエリ1」とすると、以下のような「クエリ2」を作成すればよいということでしょうか。 SELECT クエリ1.請求年, ・・・ クエリ1.会社コード,会社マスタ.会社名 FROM クエリ1,会社マスタ WHERE クエリ1.会社コード=会社マスタ.会社コード 副問い合わせを上手く用いればこれを1つのクエリ(SQL)でできるのでしょうけど…。 ともかく解決の糸口が見えました。 今は環境がないので試せないのですが、帰宅したら試してみます。 ありがとうございました。 | ||||
|
投稿日時: 2007-06-01 07:42
AccessでのSQLのサポート範囲が分かりませんが。。。
以下のSQLを試してみてください。
|
1