Как я могу получить сочетание заложенных в бюджет человеко-часов в заказе в магазине Exact Online с фактическими сделанными часами?

Я могу получить их отдельно с помощью запроса по exactonlinerest..MfgTimeTransactions (фактические данные) и exactonlinerest..ShopOrderRoutingStepPlans (запланированные часы)?

1 ответ1

0

Вы можете объединить эти данные, используя левое внешнее соединение. Иногда может понадобиться и полное внешнее объединение, но в этой ситуации вы можете зарегистрировать время в магазине только тогда, когда оно действительно имеет шаги маршрутизации.

Запрос:

select timebgt.shopordernumber
,      timebgt.PlannedTotalHours
,      ttn.man_hours
from   ( select sor.shopordernumber
         ,      son.shoporder
         ,      sum(PlannedTotalHours) PlannedTotalHours 
         from   exactonlinerest..ShopOrderRoutingStepPlans son 
         join   exactonlinerest..shoporders sor 
         on     sor.id = son.shoporder 
         group 
         by     sor.shopordernumber
         ,      son.shoporder
       ) 
       timebgt
left 
outer  
join   ( select mtn.shoporder
         --,      sor.shopordernumber
         --,      sor.description shoporderdescription
         --,      mtn.date
         --,      mtn.activity setup_or_run
         --,      mtn.status hour_status
         ,      sum(mtn.laborhours) man_hours
         --,      emp.birthname man_name
         --,      mtn.hours wcr_hours
         --,      wcr.code wcr_code
         --,      wcr.description wcr_description
         from   exactonlinerest..MfgTimeTransactions mtn
         join   exactonlinerest..Employees emp
         on     emp.id = mtn.employee
         join   exactonlinerest..Workcenters wcr
         on     wcr.id = mtn.workcenter
         join   exactonlinerest..shoporders sor
         on     sor.id = mtn.shoporder
         group 
         by     mtn.shoporder
       ) ttn
on     ttn.shoporder = timebgt.shoporder
order 
by     timebgt.shopordernumber

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .