私は3つのテーブルを持っています:
tblCustomer
CustomerID CustomerName
1 Customer 1
2 Customer 2
tblOrder
OrderID CustomerID OrderTypeID LoanNumber
1 1 1 98513542
2 1 1 71283527
3 1 1 10268541
4 1 1 61258965
tblOrderType
OrderTypeID OrderTypeName
1 Purchase
2 Rental
今、私はCustomerID
、CustomerName
、OrderTypeName
およびOrderCount
を返したいと思っていOrderCount
ます。次のクエリを使用しています。
SELECT tblCustomer.CustomerID, tblCustomer.customerName, tblOrderType.OrderTypeName, tblOrder.OrderID
FROM tblCustomer
INNER JOIN tblOrder
ON tblCustomer.CustomerID = tblOrder.CustomerID
INNER JOIN tblOrderType
ON tblOrderType.OrderTypeID = tblOrder.OrderTypeID
それは一種の作品です。OrderCount
明らかに、を除いて、私が求めているすべてを取得します。結果は次のようになります。
CustomerID CustomerName OrderTypeName OrderID
1 Customer 1 Purchase 1
1 Customer 1 Purchase 2
1 Customer 1 Purchase 3
1 Customer 1 Purchase 4
しかし、私が探しているのはこれです:
CustomerID CustomerName OrderTypeName OrderCount
1 Customer 1 Purchase 4
Count()
さて、さまざまな場所でクエリに追加しようとしましたが( Count(tblOrder.OrderID)
1つ)、エラーが発生しましたtblCustomer.CustomerID is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause
.
これは宿題ではありません。学校では教えられなかったので、SQL とデータベースの相互作用についてはよくわかりません。友人が私にシナリオを投げかけています。