Witajcie,
Nie wiedziałem jak to nazwać problem, ale mam taki kod:
Select RouteID,
RouteName,
Count(distinct OR01004) as 'Ilość klientów na trasie'
FROM OR010100
LEFT OUTER JOIN (SELECT DISTINCT OR03001, OR03002, OR03011, OR03012, OR03076 FROM OR030100) AS OR030100 ON OR01001=OR03001
LEFT OUTER JOIN zeel_completation_Routes ON OR03076=RouteID
WHERE RouteDate>=CAST(GETDATE() AS DATE) and RouteDate<(GETDATE()+1) AND
LEFT(RouteName,5)<>'CROSS' AND
WH=011 AND
Carrier in ('103170','110021','109548')
GROUP BY
RouteID,
RouteName
HAVING
COUNT(distinct OR01004)>1
ORDER BY 2
Stworzyłem takie zapytanie do sprawdzania swoich działań, czy są one poprawne.
Podpinam określone zamówienia pod określone trasy na danym spedytorze (carrier) i w przypadku tych carrierów zawsze 1 klient powinien być na 1 trasie
Czyli kontroluje siebie, wyszukuje trasy, które mają podpięte zamówienia sprzedaży, gdzie nr klienta (OR01004) jest więcej niż 1 (jeśli jest więcej to znaczy, że np założyłem trasę na dwóch klientach, czyli dwóch adresach dostawach np. na przewoźnika UPS, co oczywiście jest błędne).
A teraz interesuje mnie jak można przerobić to zapytanie by wyszukał mi trasy gdzie są zamówienia na wybranych w where carrierach przynajmniej 2 trasy do tego samego klienta.
Często się zdarza, że zakładam trasę i po 3h ktoś dopisuje na nowym zamówieniu do tego samego klienta i z uwagi, że w międzyczasie około 300 innych zamówień podpinałem, nie pamiętam, że takie zamówienie do tego klienta gdzieś podpinałem i finalnie, zbędnie tworzę dwie trasy do tego samego klienta, co generuje koszty.
Czy jest to w miarę jasne?:)
Dziękuję z góry.