2017-11-22 16 views
0

2行をマージしたい。私は次のSQLクエリを使用します1つのSQL Serverテーブルで2行をマージする

SELECT 
    StoreName, Cateagory, ItemName, 
    SUM(Qty) AS Qty, Rate, 
    SUM(Purchage) AS Purchage, 
    p_Rate, SUM(S_Qty) AS S_Qty, S_Rate 
FROM 
    Stock 
GROUP BY 
    StoreName, Category, ItemName, Rate, p_Rate, S_Rate   
ORDER BY 
    StoreName ASC 

しかし、正しく動作していません。

のスクリーンショットを参照してください。

enter image description here

+0

さて、まず最初に、コードの半分が「 - 」でコメントアウトされています – user7733611

+0

**カテゴリ**(「カテゴリ」ではなく) –

答えて

0

それはユニークなフィールドを決定何列伝えるのは難しいのですが、私はあなただけStoreNameCategory、およびItemNameによってグループ化させたいという思います。他のフィールドについては、MAX集計関数を追加して、ゼロ以外の値を取得しました。

SELECT 
    StoreName, 
    Catagory, 
    ItemName, 
    SUM(Qty) AS Qty, 
    MAX(Rate), 
    SUM(Purchage) AS Purchage, 
    MAX(p_Rate), 
    SUM(S_Qty) AS S_Qty, 
    MAX(S_Rate) 
FROM Stock 
GROUP BY StoreName, Catagory, ItemName   
ORDER BY StoreName ASC 
関連する問題