Récupération du workflow initial pour chaque représentant commercial
Cette requête SQL récupère efficacement le premier enregistrement de flux de travail pour chaque représentant commercial au cours du mois et de l'année en cours. Les données proviennent de deux tables : SM_Employee
et SM_SalesRepWorkflow
.
La solution utilise la fonction de fenêtre ROW_NUMBER()
. Cette fonction attribue un rang unique à chaque ligne au sein d'une partition définie (dans ce cas, chaque commercial) en fonction d'un ordre spécifié (ici, le workflowid
).
Voici la requête SQL :
<code class="language-sql">SELECT * FROM ( SELECT workflowid, salesRepId, quantityAssigned, quantityLeft, month, year, ROW_NUMBER() OVER (PARTITION BY salesRepId ORDER BY workflowid) AS rownumber FROM SM_SalesRepWorkflow ) ranked_workflows WHERE rownumber = 1;</code>
Cette requête attribue d'abord un numéro de ligne à chaque workflow pour chaque commercial, classé par workflowid
. La requête externe filtre ensuite cet ensemble de résultats, en sélectionnant uniquement les lignes avec rownumber = 1
, renvoyant ainsi le premier flux de travail pour chaque salesRepId
.
Exemples de données et de résultats :
Compte tenu de cet exemple de données de SM_SalesRepWorkflow
:
Workflowid | SalesRepId | QuantityAssigned | QuantityLeft | Month | Year |
---|---|---|---|---|---|
WF_101 | EMP_101 | 100 | 90 | May | 2013 |
WF_102 | EMP_101 | 100 | 70 | May | 2013 |
WF_101 | EMP_102 | 100 | 100 | May | 2013 |
WF_101 | EMP_103 | 100 | 80 | May | 2013 |
La requête renverra :
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 |
Cela reflète fidèlement le premier flux de travail de chaque commercial. Notez que cette approche suppose que workflowid
fournit un ordre significatif pour déterminer le « premier » flux de travail. Si un ordre différent est nécessaire, ajustez la clause ORDER BY
en conséquence.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!