的变动数。这是我一直在使用的查询:如何获取集合结果无果SQL
select serial_number, DAQ.qtag_no, min(TOH.start_time), order_number, DAQ.creation_time, qtag_status, ar_code, pro_foundin, pro_category, root_cause, remark from UNIT U
left JOIN WORK_ORDER WO ON WO.order_key = U.order_key
left join TRACKED_OBJECT_HISTORY TOH on TOH.tobj_key = U.unit_key
WHERE U.creation_time > '01/01/2012' AND U.creation_time < '07/20/2012'
AND order_number NOT LIKE '[R]%'
group by serial_number, qtag_no, order_number, DAQ.creation_time, qtag_status, ar_code, pro_foundin, pro_category, root_cause, remark
order by serial_number
现在我得到3280分的结果。 在此设置中,有不同的工作站,如“装配”,“诊断”等。我的min(TOH.start_time)列的目标是返回装配工作站的第一个开始时间,但目前它正在返回首先在任何一个车站开始时间。但是,如果我添加另一个WHERE子句来指定工作站(TOH.op_name ='Assembly'),它将限制结果数量(最低为2700)。我想保留3280结果,而不是扫描到装配工作站的装置,请在min(TOH.start_time)列中返回NULL。我试过使用case函数,但是这要求我将TOH.op_name包含在group by子句中,而我并不在这里。谢谢!
您可以显示预期结果集?你可以在sqlFiddle中的任何地方显示示例数据吗? – 2012-07-31 17:09:38
其中之一,停止使用不明确的格式,如'mm/dd/yyyy' ...应该是'> ='20120101'和<'20120720'' ... – 2012-07-31 17:11:44