Witam serdecznie,
Mam taki kod:
select RouteID, RouteName, RouteDate, OR21001 as 'Nr zamówienia', WH as 'Magazyn', cast(SUM(Wartosc) as decimal) AS 'wartosc', Odbiorca_Kod,Odbiorca,Odbiorca_Segment_Nowy_Kod,KOR_Kod,KOR
from OR210100 inner join zeel_completation_Routes on OR21076=RouteID
inner join OLAP_Sprzedaz_View on Zamowienie_Numer=OR21001
where Data_Faktury between '2022-10-01' and '2022-10-10' and Odbiorca_Segment_Nowy_Kod in ('III', 'IV') and KOR_Kod not in ('838','188','358','618')
and OR21001 not in
(select Zamowienie_Numer
from OLAP_Sprzedaz_View
where Produkt_Kod='9DA.Z005.01P.0000Z')
GROUP BY RouteID, RouteName, RouteDate, OR21001, WH, Odbiorca_Kod,Odbiorca,Odbiorca_Segment_Nowy_Kod,KOR_Kod,KOR
having sum(Wartosc) between 1 and 300
Order by 4
Generuje taki wynik:
Zapytanie w takiej formie w dużym skrócie przedstawia zamówienia do 300 PLN dla określonych segmentów sprzedaży z różnych magazynów, które nie mają w zamówieniu określonego kodu artykułu.
Chciałbym, aby zapytanie brało pod uwagę taki warunek: jeżeli ta sama Route date na dwóch lub więcej zamówieniach (niezależnie od WH,czyli magazynu) do tego samego odbiorcy mających sumarycznie wartość większą niż 300 PLN to żeby nie pokazywało to w wyniku.
Czyli tak jak na prinscreenie, wers 9 i 10 nie powinien być w wyniku zapytania.
Na innym forum zalecili mi użycie
SUM(wartosc) OVER (PARTITION BY Odbiorca_Kod)
, ale z uwagi na to że jestem bardzo początkujący to średnio ogarniam jakby to miało wyglądać:)
Czy ktoś ma jakieś pomysły?