これは私の現在のクエリです:
select serial_number, order_number,
(select TOP 1 PRODUCT_ID from PS_ORD_LINE PL
where PL.ORDER_NO = WO.order_number
and CAT_DESCR = 'SYSTEM' and ORD_LINE_STATUS = 'O'
ORDER BY ORDER_INT_LINE_NO) as model,
(select datediff(minute, min(complete_time), min(start_time))
from TRACKED_OBJECT_HISTORY TOH1
where TOH1.op_name IN ('Assembly', 'Pre-Final')
and TOH1.tobj_key = TOH.tobj_key) as waiting_time1,
from UNIT U
left join WORK_ORDER WO on U.order_key = WO.order_key
left join TRACKED_OBJECT_HISTORY TOH on TOH.tobj_key = U.unit_key
where WO.creation_time > '5/1/12' and WO.creation_time < '7/31/12'
group by serial_number, order_number, tobj_key
の真ん中の部分DateDiff
が私の問題です。
したがってAssembly
、 とPre-Final
は、ユニットがスキャンされる 2 つの異なる駅の名前Assembly
ですPre-Final
。
私がやろうとしているのは、ユニットがスキャンアウトしてからスキャンインするまでの経過時間を計算することAssembly
ですPre-Final
。complete_time
ユニットがステーションからスキャンアウトされたときにマークされ、start_time
スキャンインされたときにマークされます。
現在、私のクエリは機能しません。これは最初の駅であるため、start_time
との両方がcomplete_time
参照されているためです。Assembly
しかし、complete_time
参照したいのに参照しAssembly
たい。start_time
Pre-Final
これを行うにはどうすればよいですか?