Sous Requête avec Variable (A SELECT statement that assigns a value to a variable must not be combined with da
Bonjour,
J'ai créer une requête et je veux déclarer des variables pour alléger mon code. J'ai deux cas de variable et qui me donne toujours le même message d'erreur, mais je reçois toujours le message d'erreur suivant : A SELECT statement that assigns a value to a variable must not be combined with data-retrieval operations."
ce que je veux c'est que dans mon select je vois la valeur de mes variables. si je mets seulement @Exchange = (case when OrderHed.RateGrpCode = 'MDS' then OrderHed_ud.ExchRate_Comptable_c else OrderHed.ExchangeRate end) sans le , @exchange, je n'ai pas de message d'erreur, mais je ne vois pas la valeur de ma variable.
------------Premier code --------------
Code:
1 2 3 4 5 6 7 8 9 10 11
|
DECLARE @Exchange decimal;
select Orderhed.Ordernum,
@Exchange = (case when OrderHed.RateGrpCode = 'MDS' then OrderHed_ud.ExchRate_Comptable_c else OrderHed.ExchangeRate end) ,
@Exchange
from erp.OrderHed
left join erp.OrderHed_UD
on OrderHed_UD.ForeignSysRowID = orderhed.SysRowID |
Me retourne le message d'erreur "A SELECT statement that assigns a value to a variable must not be combined with data-retrieval operations."
---------------- Deuxième Code
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
|
DECLARE @Exchange decimal;
select Orderhed.Ordernum, orderdtl.orderline,
@MiscCharge = CASE WHEN
((SELECT SUM(DocMiscAmt)
FROM erp.ordermsc
WHERE ordermsc.company = orderdtl.company AND ordermsc.ordernum = orderdtl.ordernum AND ordermsc.orderline = orderdtl.orderline AND (Ordermsc.MiscCode = 'MIST' OR
Ordermsc.MiscCode = 'DISM' OR
Ordermsc.MiscCode = 'DISP')
GROUP BY Ordermsc.Ordernum, OrderMsc.Orderline)) IS NULL THEN 0 ELSE
(SELECT SUM(DocMiscAmt)
FROM erp.ordermsc
WHERE ordermsc.company = orderdtl.company AND ordermsc.ordernum = orderdtl.ordernum AND ordermsc.orderline = orderdtl.orderline AND (Ordermsc.MiscCode = 'MIST' OR
Ordermsc.MiscCode = 'DISM' OR
Ordermsc.MiscCode = 'DISP')
GROUP BY Ordermsc.Ordernum, OrderMsc.Orderline) END,
@MiscCharge
from erp.OrderHed
left join erp.OrderHed_UD
on OrderHed_UD.ForeignSysRowID = orderhed.SysRowID
left join erp.OrderDtl
on orderdtl.Company = orderhed.Company
and orderdtl.OrderNum = orderhed.OrderNum |