2010-12-16 4 views
0

関連するデータを持つ2つのテーブルがあります。 1つはproducts、もう1つはpriceです。価格表では、1つの製品が複数回出現することがあります。どのようにグループ化して結果を返すことができますか?左結合を使用したSQLグループ化

以下は私のクエリであるが、出力はおそらく、このようなgroup by、外のQtyを残す必要があるグループ

SELECT distinct 
      p.Product, 
      p.Qty, 
      MAX(pr.netprice) 

    FROM Products p 
    LEFT OUTER JOIN Price pr ON p.Product=pr.Product 
    WHERE p.brand='' 
    GROUP BY p.Product, p.Qty 
+0

。どのように結果を見たいのですか? –

+0

ここでは別名を使用しているのは何ですか? –

+0

価格表で商品とその最高価格(最大)を取得しようとしていますか?私はクエリを書くことができますが、私はあなたが望むものを完全に理解しているとは思わない。 –

答えて

0

ではない:これは動作するはず

SELECT p.Product, 
     MAX(pr.netprice) 

    FROM Products p 
    LEFT OUTER JOIN Price pr ON p.Product=pr.Product 
    WHERE p.brand='' 
    GROUP BY p.Product 
+1

これは実行されません。選択リストからp.Qtyも削除する必要があります。 – Jan

+0

@Jan - true。これは、関数内に列を入れるか、GROUP BYに入れる必要があるため、実行できません –

+0

グループリストにQty ----のグループ削除が含まれていないため選択リストで無効な場合はこのエラーをDipsします集計関数またはGROUP BY句のいずれかで指定します。 – user543425

関連する問題