2016-11-18 43 views
0

得到一個頂級的數字ID我有這樣的代碼:如何從一個表和日期

SELECT TYPE, BASE_ID, PART_ID, CREATE_DATE 
FROM WORK_ORDER 
WHERE CREATE_DATE >'17-NOV-2016' AND WAREHOUSE_ID ='MEX-04' 

,並讓作爲結果: enter image description here

我想有隻base_idpart_id之一

+1

您正在使用什麼RDBMS?另外,我們應該如何知道要選擇哪個'base_id'? – Nicarus

回答

0

試試這個。從你的解釋中假設這一點。

SELECT TYPE, Max(BASE_ID) BASE_ID, PART_ID, CREATE_DATE 
FROM WORK_ORDER 
WHERE CREATE_DATE >'17-NOV-2016' AND WAREHOUSE_ID ='MEX-04' 
Group By Type, Part_ID, Create_Date 

更新根據新的查詢......試試這個。假設SQL Server。

SELECT PART.ID ,PART.USER_10 ,PART.USER_1 ,WORK_ORDER.STATUS 
,SUM (CASE when (OPERATION.RESOURCE_ID = '121-ADD') THEN OPERATION.RUN ELSE 0 END) "121-ADD" 
FROM PART 
JOIN WORK_ORDER ON PART.ID = WORK_ORDER.PART_ID 
JOIN OPERATION ON WORK_ORDER.PART_ID = OPERATION.WORKORDER_BASE_ID 
Where 
OPERATION.WORKORDER_TYPE ='M' 
AND --(NewCode here) 
OPERATION.RUN >0 AND WORK_ORDER.WAREHOUSE_ID ='MEX-04' 
AND WORK_ORDER.TYPE ='W' AND PART.FABRICATED ='Y' 
AND WORK_ORDER.CREATE_DATE >'17-NOV-2016' 
GROUP BY PART.ID ,PART.USER_10 ,PART.USER_1 ,WORK_ORDER.STATUS 
+0

感謝WEI_DBA,這解決了我們的問題。 – user2180525

+0

魏,試圖代碼添加到我的代碼在這裏的時候,它並不像我想象的工作,你可以去看看嗎? – user2180525

+0

SELECT PART.ID ,PART.USER_10 ,PART.USER_1 ,WORK_ORDER.STATUS ,SUM(CASE時(OPERATION.RESOURCE_ID = '121-ADD')THEN ELSE OPERATION.RUN 0 END)「121-ADD 「FROM PART ,WORK_ORDER,OPERATION 凡 WORK_ORDER.PART_ID = OPERATION.WORKORDER_BASE_ID AND OPERATION.WORKORDER_TYPE = 'M' AND PART.ID = WORK_ORDER.PART_ID - (NewCode這裏) AND OPERATION.RUN> 0 AND WORK_ORDER.WAREHOUSE_ID ='MEX-04' AND WORK_ORDER.TYPE ='W' AND PART.FABRICATED ='Y' AND WORK_ORDER.CREATE_DA TE> '17 -NOV-2016' GROUP BY PART.ID ,PART.USER_10 ,PART.USER_1 ,WORK_ORDER.STATUS – user2180525

相關問題