327 :
質問です!:
お世話になります。
ACCESS97を使っています。
次のようなクエリーは可能なのでしょうか?
品 数
--------------
みかん 5
みかん 3
りんご 1
なし 4
というテーブル「A」に対して、クエリー式
select 品,sum(数)as total from A group by 品
によって,
品 total
--------------
みかん 8
りんご 1
なし 4
というクエリーが得られるはずです。
さて、ある理由があって、このクエリーの中に品の種類数を各行に記入したいのですが、
どのようなクエリー式を書けばいいのでしょう?
すなわち、
品 total 種類
-----------------------
みかん 8 3
りんご 1 3
なし 4 3
のような形にしたいのです。(品物の種類は3種類ですので)
しかし,
SELECT 品, Sum(数) AS total, (select count(select distinct s.品 from A s)) AS 種類
FROM A
GROUP BY 品;
のような式とかいろいろやってみたのですがうまくいかず,
結局,
品
-------
みかん
りんご
なし
のようなテーブル「B」をselect distinct で作って,
SELECT 品, Sum(数) AS total, (select count(s.品) from B s) AS 種類
FROM A
GROUP BY 品;
のような式を作ってやりすごしました.
別テーブルを作らずにスマートな一つのSQL式にできないものでしょうか?
初心者なのでよろしくお願いします.