0

私は SQL の知識が非常に限られている初心者プログラマーです。私は何時間も試してみて、見つけたすべてのリソースを読みましたが、これら 2 つのテーブルを結合して ACCESS データベースを使用して合計請求額を取得する方法がわかりません。

TblInvoices

CustomerID InvoiceAmount

TblCustomers

CustomerID CustomerName CustomerRep

私が必要とするのは、顧客名、担当者、および請求書の合計金額です (特定の日付の間でOKですが、そのビットをクラックしました)。私は内部結合と私が見つけることができる他のものを試しましたが、あまり運がありません.

アイデアとして...

"SELECT CustomerName, CustomerRep, Sum(InvoiceAmount) AS INVOICETOTAL
FROM TblCustomers, TblInvoices WHERE TblCustomers.CustomerID = TblInvoices.CustomerID
GROUP BY CustomerID"

どんな助けでも感謝します。

4

1 に答える 1

1

現在のクエリは近いですがCustomerName、 SELECT があるため、これらの列CustomerRepが必要です。GROUP BY

SELECT TblCustomers.CustomerName, 
  TblCustomers.CustomerRep, 
  Sum(TblInvoices.InvoiceAmount) AS INVOICETOTAL 
FROM TblCustomers
INNER JOIN TblInvoices 
  ON TblCustomers.CustomerID = TblInvoices.CustomerID 
GROUP BY TblCustomers.CustomerName, TblCustomers.CustomerRep;

MS Access では、SELECT リストに表示されるすべての列が、集計関数またはGROUP BY集計が使用されている場合の句に含まれている必要があります。のみが必要な場合GROUP BYCustomerId、サブクエリを使用して結果を取得することもできます。

SELECT c.CustomerName, 
  c.CustomerRep, 
  i.INVOICETOTAL 
FROM TblCustomers c
INNER JOIN
(
  SELECT Sum(InvoiceAmount) AS INVOICETOTAL,
    CustomerID
  FROM TblInvoices 
  GROUP BY CustomerID
) i
  ON TblCustomers.CustomerID = i.CustomerID 
于 2013-04-29T11:13:33.907 に答える