UPDATE avec sous-requêtes
Bonjour,
Je n'arrive pas à adapter la requête select ci-dessous afin d'effectuer un update de la table w_p_rqtbill
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
Select
IsNull(Sum(Cast(p_rqtpec.RqtPecElapseDel As float) / 60 * dbo.W_CHTX_Tarif(r_wrkobj.ObjInCde, r_adc.SrvcObjRteInCde, p_rqtpec.RqtPecToDte) * IsNull(dbo.r_wrkobj.ObjQty, 1)), 0) As MO_Cout_Autres,
IsNull(Sum(Cast(p_rqtpec.RqtPecElapseDel As float) / 60 * IsNull(r_wrkobj.ObjQty, 1)), 0) As MO_Tps_Autres
From
r_wrkobj Right Outer Join
(p_rqtpec Inner Join
p_rqt On p_rqtpec.RqtInCde = p_rqt.RqtInCde Inner Join
r_adc On p_rqt.AdcInCde = r_adc.AdcInCde) On dbo.r_wrkobj.WrkInCde =
p_rqtpec.WrkInCde Inner Join
w_p_rqtbill On p_rqt.RqtInCde = w_p_rqtbill.RqtInCde
Where
p_rqt.RqtDte >= '01/01/2012' And
p_rqtpec.RqtEndPnt = 1 And
p_rqt.DstWrkGrpInCde = 32
Group By
p_rqt.RqtInCde |
J'ai tenté plusieurs requêtes update sans résultat probant.
Voici la dernière mouture de ma requête :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
UPDATE w_p_rqtbill
SET w_p_rqtbill.MO_Tps_Autres = (SELECT IsNull(Sum(Cast(p_rqtpec.RqtPecElapseDel As float) / 60 * IsNull(r_wrkobj.ObjQty, 1)), 0)
FROM
r_wrkobj Right Outer Join
(p_rqtpec Inner Join
p_rqt On p_rqtpec.RqtInCde = p_rqt.RqtInCde Inner Join
r_adc On p_rqt.AdcInCde = r_adc.AdcInCde) On dbo.r_wrkobj.WrkInCde = p_rqtpec.WrkInCde
WHERE
p_rqt.RqtInCde = w_p_rqtbill.RqtInCde
GROUP BY p_rqt.RqtInCde),
w_p_rqtbill.MO_Autres = (SELECT IsNull(Sum(Cast(p_rqtpec.RqtPecElapseDel As float) / 60 * dbo.W_CHTX_Tarif(r_wrkobj.ObjInCde, r_adc.SrvcObjRteInCde, p_rqtpec.RqtPecToDte) * IsNull(dbo.r_wrkobj.ObjQty, 1)), 0)
FROM
r_wrkobj Right Outer Join
(p_rqtpec Inner Join
p_rqt On p_rqtpec.RqtInCde = p_rqt.RqtInCde Inner Join
r_adc On p_rqt.AdcInCde = r_adc.AdcInCde) On dbo.r_wrkobj.WrkInCde = p_rqtpec.WrkInCde
WHERE
p_rqt.RqtInCde = w_p_rqtbill.RqtInCde
GROUP BY p_rqt.RqtInCde)
FROM
p_rqtpec Inner Join
p_rqt On p_rqtpec.RqtInCde = p_rqt.RqtInCde
WHERE
p_rqt.RqtInCde = w_p_rqtbill.RqtInCde And
p_rqt.RqtDte > '01/01/2012' And
p_rqtpec.RqtEndPnt = 1 And
p_rqt.DstWrkGrpInCde = 32 |
Malheureusement la requête update ne met pas à jour toutes les valeurs retournées par ma requête select et, en plus, quand elle met à jour, le coût et le temps insérés ne correspondent pas aux résultat que j'obtiens dans ma requête select :( :roll:
Quelqu'un aurait-il une piste pour m'aider à corriger ma requête update ?
Merci par avance.