SQL質疑応答スレ 9問目

このエントリーをはてなブックマークに追加
922NAME IS NULL
売上データベースがあって、主テーブルの項目は、売上番号、得意先名、日付。
明細テーブルの項目は、明細番号、売上番号、商品、個数。売上番号で1対多でリンクしています。
商品(複数)と日付を指定して、 商品名 個数計 得意先計の一覧を出力したいです。
ただし得意先名は同名を1とカウントしたいのです。
SELECT 明細.商品, Sum(明細.個数) AS 個数計, Count(主.得意先) AS 得意先計
FROM 主 INNER JOIN 明細 ON 主.売上番号 = 明細.売上番号
WHERE 主.日付 Between '5/1/2010' And '5/4/2010'
GROUP BY 明細.商品
HAVING 明細.商品='えんぴつ' or 明細.商品='筆';
とすると、得意先計が複数カウント(同名は1とならない)してしまいます。
どのように書いたらよいのでしょうか。