Files
SHERPA/SHERPA.BBM.CORE/SqlScripts/VIEW/v_DocsData.sql
T
Samuele Locatelli f48a622696 refresh views
2024-02-13 10:31:39 +01:00

57 lines
1.4 KiB
Transact-SQL

---------------------------------------------
-- VIEW dati riassuntivi livello Doc
---------------------------------------------
CREATE OR ALTER VIEW [dbo].[v_DocsData]
AS
WITH cteOrd AS
(
SELECT o.DocId
,COUNT(DISTINCT o.OrdId) AS Qty
,SUM(ISNULL(r.FinalPrice,0)) AS PriceOrdSum
FROM Orders o
LEFT OUTER JOIN dbo.OrderRes AS r ON o.OrdId = r.OrdId
GROUP BY o.DocId
)
,cteRes AS
(
SELECT DocId
,SUM(ISNULL(r.FinalPrice,0)) AS PriceDocSum
FROM Resources r
GROUP BY r.DocId
)
,cteBill AS
(
SELECT o.DocId
,SUM(ISNULL(f.Amount,0)) AS AmountSum
,SUM(ISNULL(f.Paid,0)) AS PaidSum
FROM Orders o
LEFT OUTER JOIN dbo.AccMov AS f ON o.OrdId = f.OrdId
WHERE f.IdxBillExt > 0
GROUP BY o.DocId
)
SELECT d.*
,n.BasketId
,bk.CodBasket
,bk.Descript as DescBasket
,c.RagSoc
,n.CodNegotiation
,n.Descript AS NegotDescript
,ISNULL(o.Qty,0) AS OrdQty
,CAST(ISNULL(r.PriceDocSum,0) AS decimal(18,6)) AS Importo
,CAST(ISNULL(b.AmountSum,0) AS decimal(18,6)) AS Fatturato
,CAST(ISNULL(b.PaidSum,0) AS decimal(18,6)) AS Incassato
FROM dbo.Docs AS d
INNER JOIN Negotiations AS n ON n.NegotiationId = d.NegotiationId
INNER JOIN Baskets AS bk ON n.BasketId = bk.BasketId
INNER JOIN Customers AS c ON n.CustomerId = c.CustomerId
LEFT OUTER JOIN cteOrd AS o ON d.DocId = o.DocId
LEFT OUTER JOIN cteRes AS r ON d.DocId = r.DocId
LEFT OUTER JOIN cteBill AS b ON d.DocId = b.DocId
GO