Voorwaarden en rekenen met tijden...

Status
Niet open voor verdere reacties.

Martijnn

Gebruiker
Lid geworden
13 nov 2011
Berichten
44
Hallo Helpers van Nederland!

Ik begin net een beetje bekend te raken met SQL en er gaat een wereld voor me open! We hebben op het werk tools om rapporten te maken, maar ze geven nooit precies wat ik wil... Nu ik toegang heb gekregen tot de database, kan ik eindelijk zelf aan de gang...
Een hoop dingen kan ik natuurlijk kopiëren naar Excel en daar allerlei berekeningen doen, maar ik zou het cool vinden als dit ook al in de query meegenomen kan worden...

Ok, niet alles tegelijk; mijn eerste ding:
(Het betreft een orderpick-rapportage van lijsten die magazijnmedewerkers verzameld hebben)

Dit is mijn query:
Code:
SELECT
convert(varchar, ActivatedDate, 105) as Date,
ShopID,
dbo.HandheldReplenishmentOrders.OrderId,
ActiveEmployeeID,
convert(varchar, ActivatedDate, 108) as Start,
convert(varchar, ClosedDate, 108) as Finish,
convert(varchar, (ClosedDate - ActivatedDate), 108) as TotalTime,
TotalQty as AantalArtikelen

FROM HandheldReplenishmentOrders

WHERE
ClosedDate between '20140714' and '20140720' and ShopID in ('113','114') and TotalQty > 100

ORDER BY ShopID ASC, Date ASC

Deze query geeft me deze resultaten:
results.jpg

Nu wil ik een soort Score-kolom toevoegen die het AantalArtikelen deelt door de TotalTime, maar...
De lopers hebben 3 keer pauze op een dag
10:00 - 10:15
12:00 - 12:30
14:30 - 14:45
Deze pauzetijden zouden eigenlijk (+ 5 minuutjes wandeltijd) van de TotalTime afgetrokken moeten worden.

Dus iets van:
als ActivatedDate < 10:00 en ClosedDate > 10:15 -> TotalTime minus 20 minuten
EN
als ActivatedDate < 12:00 en ClosedDate > 12:30 -> TotalTime minus 35 minuten
EN
als ActivatedDate < 14:30 en ClosedDate > 14:45 -> TotalTime minus 20 minuten

Dan zou er dus een kolom zijn met looptijden en moet het AantalArtikelen (TotalQty) gedeeld worden door deze looptijd.
Het formaat van de waarde die hieruit komt is niet zo belangrijk, als ze maar consequent zijn, zodat de magazijnchefs in 1 kolom kunnen zien hoe de lopers het gedaan hebben, zonder dat ze aantallen en tijden hoeven te vergelijken...

Anyone?

Thanks!

Martijn
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan