顧客ごとに1行しか表示されないようにデータを表示しようとしています。グループ内で選択されたクエリがすべての行を返す
SELECT customerOrdrs.NAME AS 'Name',
customerOrdrs.currentbalance -
Sum(COALESCE(customerOrdrs.revisedbalance, 0)) AS 'RevisedBalance',
sold AS 'NumberOfItemsSold'
FROM customers,
(SELECT c.NAME AS NAME,
c.balance AS CurrentBalance,
i.qty AS RevisedBalance,
(Min(s.price) * i.qty) AS Sold
FROM customers c
INNER JOIN sales o
ON c.NAME = o.custname
INNER JOIN purchases i
ON i.orderno = o.orderno
INNER JOIN contracters s
ON i.item = s.item
GROUP BY c.NAME,
c.balance,
i.qty) customerOrdrs
GROUP BY customerOrdrs.NAME,
customerOrdrs.currentbalance,
sold
を定義せずに二回、顧客テーブルを参照していますサブクエリ。あなたはこれをちょっとフォーマットすることによって巨額の恩恵を受けるでしょう。投稿されているので、読みにくいです。なぜこのサブクエリを使用しているのか分かりませんが、この古いスタイルの結合を使用する方法についてはこの記事をお読みください。 http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old-style-joins.aspx –