2016-12-29 9 views
-2

私はこれが十分に簡単だと思った、私は解決策を試みたhere、しかしそれを働かせることができないCount(Distinct)は明らかにアクセスで動作しない。フィールドのID(主キー)、fldOrderNumber、商品コード、およびフィールドのProductID(キー)とfldProductNameとfldPurchaseDate複数の製品タイプを購入した顧客の注文を返すAccessクエリが必要です。

tblProductと

tblMaster:だからここに私の関連する構造です。

特定の注文番号には複数のproductIDエントリがあります。誰かが1つの注文で3つの製品を購入した場合、tldMasterに同じfldOrderNumberを持つ3行がありますが、各行には異なるProductIDがあります。私はそれらのfldOrderNumbersを返すクエリが必要なので、基本的に一意ではないfldOrderNumbers。

答えて

1

私は現在、これより単純なバージョンは考えられません。これは、大きなテーブルでは非常に遅くなる可能性があります。

SELECT A.* 
FROM 
    tblMaster AS A 
LEFT JOIN 
    (
     SELECT DISTINCT 
      fldOrderNumber, 
      COUNT(*) AS [Count] 
     FROM 
      (
       SELECT DISTINCT 
        fldOrderNumber, 
        ProductID 
       FROM 
        tblMaster 
      ) 
     GROUP BY 
      fldOrderNumber 
    ) AS B 
ON 
    A.fldOrderNumber = B.fldOrderNumber 
WHERE 
    B.Count > 1; 
+0

ありがとうございました! – Matt

+0

その後、回答としてマークしてください。 – Gustav

関連する問題