如何从 table 和日期中获取一个顶级数字 ID
How get one top numeric id from a table and date
我有这个代码:
SELECT TYPE, BASE_ID, PART_ID, CREATE_DATE
FROM WORK_ORDER
WHERE CREATE_DATE >'17-NOV-2016' AND WAREHOUSE_ID ='MEX-04'
结果如下:
我想每个 part_id
只有一个 base_id
试试这个。根据您的解释假设这一点。
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 服务器。
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
我有这个代码:
SELECT TYPE, BASE_ID, PART_ID, CREATE_DATE
FROM WORK_ORDER
WHERE CREATE_DATE >'17-NOV-2016' AND WAREHOUSE_ID ='MEX-04'
结果如下:
我想每个 part_id
base_id
试试这个。根据您的解释假设这一点。
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 服务器。
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