2016-04-05 18 views
0

Bir kullanıcı için SQL'de bir görünüm oluşturmaya çalışıyorum. (Aşağıda gösterildiği gibi) Bu dbo.WipPartBook.Job sütun değerleri aynı olduğunda dbo.WipPartBook.QtySupplied değerlerini toplamak istiyorum.Aynı görünümden başka bir sütuna göre bir SQL görünümünde toplam ekleme

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

bazı örnek verileri verebilir misiniz daha kolay size bir optimize sorgu vermek yapılır? – swe

cevap

0

Hangi SQL Server sürümünü kullanıyorsunuz? Microsoft BOL

Düzenleme:: o bir giriş için buraya bakın siz diğerleri arasında, izin pencere fonksiyonları, bir "gruplaşma" sütununda (dbo.WipPartBook.Job) tarafından bölümlenmiş toplamları bakmamız gereken bir akım biriyse (eklenen bir denenmemiş) örnek:

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

teşekkürler Bu bağlantıyı yanıtlayabilirken, cevabın önemli kısımlarını buraya eklemek ve referans için bağlantı sağlamak daha iyidir. Bağlantılı sayfa değiştiğinde yalnızca bağlantı yanıtları geçersiz olabilir – 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 
İlgili konular