Ich versuche, Daten aus ProdcutStock
Tabelle durch Gruppierung mit jedem Kunden, Vertrieb auszuwählen.Zeige Bestandsdetails nach jedem Verkauf
Meine Tabellen sind wie folgt
SalesMaster
Id CustId TDate
1 2 2016-06-03
2 1 2016-06-03
3 2 2016-06-06
4 2 2016-06-06
5 1 2016-06-06
6 3 2016-06-06
SalesDetails
Id SalesId ProductId Qty
1 1 2 4.00
2 1 1 5.00
3 2 2 21.00
4 2 2 88.00
5 2 1 8.00
6 2 3 9.00
7 2 3 4.00
8 2 1 77.00
9 2 2 4.00
10 2 3 8.00
11 2 2 7.00
12 3 2 41.00
13 3 3 10.00
14 4 2 25.00
15 4 1 49.00
16 5 3 50.00
17 5 1 50.00
18 6 2 10.00
19 6 3 20.00
ProductStock
Id Date OpeningStock TotalProduction TotalSales ClosingStock
1 2016-06-05 100.00 0.00 0.00 100.00
2 2016-06-06 100.00 325.00 255.00 170.00
3 2016-06-07 200.00 0.00 0.00 200.00
5 2016-06-08 200.00 0.00 0.00 200.00
6 2016-06-09 200.00 0.00 0.00 200.00
7 2016-06-10 200.00 0.00 0.00 200.00
Was ich m zu erreichen versuchen, ist der nachstehenden Tabelle
Date OpeningStock Production Sales Customer ClosingStock
2016-06-05 100.00 0.00 0.00 NULL 100.00
2016-06-06 100.00 325.00 125.00 XYZ 300.00
2016-06-06 300.00 0.00 30.00 ABC 270.00
2016-06-06 270.00 0.00 100.00 PQR 170.00
2016-06-07 170.00 0.00 0.00 NULL 200.00
Was erhalte ich Code unten: (Siehe Öffnen und Schließen Auf)
Date Opening Production Sales Name Closing
2016-06-05 100.00 0.00 0.00 NULL 100.00
2016-06-06 100.00 325.00 125.00 XYZ 300.00
2016-06-06 100.00 325.00 30.00 ABC 395.00
2016-06-06 100.00 325.00 100.00 PQR 325.00
2016-06-07 200.00 0.00 0.00 NULL 200.00
Was ich getan habe, ist wie folgt:
SELECT PS.Date, PS.OpeningStock , PS.TotalProduction
, SUM(COALESCE(SD.Qty,0)) AS SALES, CM.Name
, (COALESCE(PS.OpeningStock,0)) + COALESCE(PS.TotalProduction,0) - SUM(COALESCE(SD.Qty,0)) AS ClosingStock
FROM ProductStock PS LEFT JOIN SalesMaster SM ON PS.Date = SM.Date
LEFT JOIN SalesDetails SD ON SM.Id = SD.SalesId
LEFT JOIN CustomersMaster CM ON SM.CustomerId = CM.Id
GROUP BY PS.Date, CM.Name, PS.OpeningStock, PS.TotalProduction
ORDER BY PS.Date
Ich habe auch versucht, mit LAG
zu arbeiten, wie ich SQL Server 2012 benutze, aber ich habe nicht, wie man anwendet.
Bitte CustomersMaster Tisch. – vercelli
@vercelli: Es war nicht erforderlich, da ich nur den Namen von dieser Tabelle wollte. JamieD77 [Antwort] (http://stackoverflow.com/questions/37660162/show-stock-details-by-each-sales#37661243) funktionierte perfekt. – hims056