我有两张桌子.
1-> SM_Employee
Run Code Online (Sandbox Code Playgroud)(1) employeeid (2) roleid (3) storeid
2-> SM_SalesRepWorkflow
Run Code Online (Sandbox Code Playgroud)(1) workflowid (2) Salesrepid foreign key to employeeid (3) QuantityAssigned (4) QuantityLeft (5) month (6) year
通过这些表,我需要从SalesRepId为CurrentMonth和CurrentYear从SM_SalesRepWorkflow顺序中选择每个SalesRep详细信息的第一行.
例
Workflowid SalesRepId QuantityAssigned QuantityLeft Month Year
WF_101:EMP_101:100:90:May:2013
WF_101:EMP_102:100:100:May:2013
WF_101:EMP_103:100:80:May:2013
WF_102:EMP_101:100:70:May:2013
所以我想要的结果是
WF_101:EMP_101:100:90:May:2013
WF_101:EMP_102:100:100:May:2013
WF_101:EMP_103:100:80:May:2013
因此,SalesRep可以有许多工作流程.但我希望当前月份和年份的每个SalesRep都有第一个.
Rac*_*cha 36
你可以使用这样的ROW_NUMBER()
功能:
SELECT *
FROM(SELECT workflowid, salesRepId, quantityAssigned,
quantityLeft, month, year
, ROW_NUMBER()
OVER (PARTITION BY salesRepId
ORDER BY workflowid) AS rownumber
FROM sm_salesRepWorkflow)
WHERE rownumber = 1;
Run Code Online (Sandbox Code Playgroud)