Hej,
Skulle verkligen behöva lite hjälp
Jag har fastnat i en sql-fråga
Det här är vad jag vill göra:
Gruppera på ID och Location. Summera ihop Quantity och Cost (för både Sale och Purchase), samt ta MAX(Date) för alla ID där Type = Sale
Exempel data: Tabell OrderData:
ID Date Type Location Quantity Cost
6 2008-10-02 Sale A 4 3
6 2008-10-01 Purchase D 88 13
5 2008-10-13 Sale D 3 10
6 2008-10-14 Sale D 16 16
6 2008-10-01 Purchase X 1 13
6 2008-10-01 Purchase D 22 11
6 2008-10-01 Purchase C 54 65
5 2008-10-14 Sale D 3 10
6 2008-10-31 Sale D 6 12
4 2008-10-20 Purchase D 5 70
4 2008-10-05 Purchase D 2 1
Exempel på hur jag skulle vilja ha utdatat enligt ovanstående exempel: (Notera att ID 4 inte har nåt datum, för den har ingen Type med sale)
ID Location TotalQuantity TotalCost LastDateForSale
6 D 32 72 2008-10-31
6 A 4 3 2008-10-02
4 D 7 71
5 D 3 10 2008-10
Nedan är den query jag har än så länge.
Problemet är att jag får sista datumet för både purchase och sale och jag vill endast ha sista datumet där type är sale.
Om jag sätter WHERE Type = 'Sale' så får jag inte rätt totalquantity och totalcost för dessa vill jag basera på både sale och purchase
SELECT
ID AS ID,
Location AS Location,
SUM(Quantit) AS TotalQuantity,
SUM(Cost) AS TotalCoast,
MAX(Date) AS LatestSalesDateForArticleInThatLocation
FROM
OrderData
Group By
ID, Location