J'ai une table de bon de travail avec 3 tables connexes pour le travail, l'équipement et les matériaux. J'essaie d'additionner le coût pour les 3 articles et le groupe par WorkOrderID. Je sais qu'une jointure directe va multiplier tous les résultats, donc j'ai besoin d'utiliser des sous-requêtes, mais je n'arrive pas à comprendre comment écrire les sous-requêtes.Total des totaux à partir de 3 tables liées à la table parente - SQL
Voici la requête de jointure droite brisée. J'ai essayé quelques sous-requêtes et continue à obtenir des résultats multipliés. Toute aide est grandement appréciée. Je vous remercie.
select wo.workorderid, sum(lab.cost) as labcost, sum(mat.cost) as matCost, sum(eq.cost) as eqcost
from WORKORDER as wo
join LABORCOSTACT as lab
on lab.WORKORDERID = wo.WORKORDERID
join MATERIALCOSTACT as mat
on mat.WORKORDERID = wo.WORKORDERID
join EQUIPMENTCOSTACT as eq
on eq.WORKORDERID = wo.WORKORDERID
where lab.TASKNAME like 'tree_rmvl'
group by wo.WORKORDERID
order by wo.WORKORDERID
Quel SGBD utilisez-vous? SQL est juste un langage de requête et non le nom d'un produit de base de données spécifique –
Exemple de données. Les résultats souhaités. –