J'ai une requête qui résume deux valeurs basées sur un identificateur commun connu sous le nom de workcell. J'essaie de comprendre comment ajouter une colonne qui calcule cette formule en pourcentage: (SumOfAct - SumOfStd)/(SumOfStd)Calculer un champ basé sur 2 colonnes calculées dans SQL
Je pensais qu'une sorte de sous-requête avec des jointures internes fonctionnerait, mais je suis Je ne sais pas comment l'obtenir à la recherche.
Voici mon code qui est tout ce que je veux, sauf pour cette colonne calculée:
SELECT v_MES_OrderIssues.AssignedWorkcell
, CONVERT(Decimal(10,2), Sum(v_SAP_OrderOperations.Std)) AS SumOfStd
, CONVERT(Decimal(10,2), Sum(v_SAP_OrderOperations.Act)) AS SumOfAct
, CONVERT(Decimal(10,2), Sum(v_SAP_OrderOperations.Variance)) AS SumOfVariance
FROM (v_SAP_OrderOperations
LEFT JOIN v_SAP_Orders ON v_SAP_OrderOperations.Ordr = v_SAP_Orders.Ordr)
LEFT JOIN v_MES_OrderIssues ON v_SAP_OrderOperations.Ordr = v_MES_OrderIssues.WOrder
WHERE (((v_SAP_Orders.OpenOrder) Like '1')
AND ((v_SAP_Orders.Equipment) Is Not NULL)
AND ((v_SAP_OrderOperations.ACT)>0))
AND ((v_MES_OrderIssues.AssignedWorkcell) Like 'S5H%W')
AND ((v_MES_OrderIssues.DateTimeClosed) Is Null)
OR (((v_SAP_Orders.OpenOrder) Like '1')
AND ((v_SAP_Orders.Equipment) Is Not NULL)
AND ((v_SAP_OrderOperations.OpenOp) Like '0'))
AND ((v_MES_OrderIssues.AssignedWorkcell) Like 'S5H%W')
AND ((v_MES_OrderIssues.DateTimeClosed) Is Null)
GROUP BY v_MES_OrderIssues.AssignedWorkcell
ORDER BY Sum(v_SAP_OrderOperations.Variance) DESC
Quels [DBMS] (https://fr.wikipedia.org/wiki/DBMS) utilisez-vous? –