2016-04-05 21 views
0

ユーザーのSQLでビューを作成しようとしています。 (以下に示すように)これでは、dbo.WipPartBook.Job列の値が同じ場合、dbo.WipPartBook.QtySuppliedの値を合計したいと考えています。同じビューの別の列に基づくSQLビューでの合計の挿入

SELECT  TOP (100) PERCENT dbo.vwSTKCF.StockCode, dbo.vwSTKCF.Cavity, dbo.vwSTKCF.Mass, dbo.vwSTKCF.Material, dbo.WipPartBook.Job, 
        dbo.WipPartBook.QtySupplied, dbo.WipPartBook.TrnDate 
FROM   dbo.WipPartBook INNER JOIN 
        dbo.InvMaster INNER JOIN 
        dbo.WipMaster ON dbo.InvMaster.StockCode = dbo.WipMaster.StockCode ON dbo.WipPartBook.Job = dbo.WipMaster.Job LEFT OUTER JOIN 
        dbo.vwSTKCF ON dbo.InvMaster.StockCode = dbo.vwSTKCF.StockCode 
WHERE  (dbo.vwSTKCF.StockCode = 'SC2020-01-00') 
ORDER BY dbo.vwSTKCF.StockCode 
+0

あなたはそれが簡単にあなたに最適化されたクエリを与えることを作るためにいくつかのサンプルデータを記入してくださいだろうか?ありがとう – swe

答えて

0

どのようなSQL Serverのバージョンを使用していますか?それはあなたが他の人の間で、許可するウィンドウ関数になります現在のものである場合、「グループ」列(dbo.WipPartBook.Job)で仕切られた合計は、導入のためにここに ルック:Microsoft BOL

編集:(追加しました未テスト)例:

SELECT  TOP (100) PERCENT dbo.vwSTKCF.StockCode, dbo.vwSTKCF.Cavity, dbo.vwSTKCF.Mass, dbo.vwSTKCF.Material, dbo.WipPartBook.Job, 
       dbo.WipPartBook.QtySupplied, dbo.WipPartBook.TrnDate, 

SUM(dbo.WipPartBook.QtySupplied) OVER (PARTITION BY dbo.WipPartBook.Job) AS Total 

FROM   dbo.WipPartBook INNER JOIN 
       dbo.InvMaster INNER JOIN 
       dbo.WipMaster ON dbo.InvMaster.StockCode = dbo.WipMaster.StockCode ON dbo.WipPartBook.Job = dbo.WipMaster.Job LEFT OUTER JOIN 
       dbo.vwSTKCF ON dbo.InvMaster.StockCode = dbo.vwSTKCF.StockCode 
WHERE  (dbo.vwSTKCF.StockCode = 'SC2020-01-00') 
ORDER BY dbo.vwSTKCF.StockCode 
+1

このリンクは質問に答えるかもしれませんが、答えの本質的な部分をここに含めて参考にしてください。リンクされたページが変更された場合、リンクのみの回答は無効になることがあります – Nehal

0
SELECT dbo.WipPartBook.Job, sum(dbo.WipPartBook.QtySupplied)  
    FROM dbo.WipMaster  
    JOIN dbo.WipPartBook 
      ON dbo.WipPartBook.Job = dbo.WipMaster.Job 
WHERE dbo.WipMaster.StockCode = 'SC2020-01-00' 
GROUP BY dbo.WipPartBook.Job 
Order BY dbo.WipPartBook.Job 
関連する問題