为什么不是这个工作人员?
我有一个' invoiceID' = 70372,多个'项目'表格中的行' invoiceitems'
发票'项目'还包含一个'总计'和一个'小计'在这种情况下,两者都是相同的值。
其中一些'项目'包含文字' EUR' (因此%LIKE%条款)
所以这就是我需要做的...... 在哪里' invoiceID' = 70372 AND' item'喜欢'%EUR%' ....我想设置'描述',' subtotal',' total'列到货币转换金额。
转换率为:0.886021
我试图做SUM(总计* 0.886021)
我尝试使用以下MYSQL语句执行货币转换更新。
我已经设置了包含字符串文本的变量,因为它们需要构成设置到描述列中的字符串的一部分。
我确实有发票'项目' '%EUR%'在查询where子句的名称文本中。因此,LIKE'%EUR%'子句。
非常感谢任何帮助。目前,这个确切的查询引发了以下错误;
SET @euroequals = ' Euro equals';
SET @britishpound = ' British Pound';
UPDATE invoiceitem
SET description = CONCAT(total,@euroequals,SUM(total*0.886021),@britishpound),
subtotal = SUM(total*0.886021),
total = SUM(total*0.886021)
WHERE invoiceID = 70372 AND item LIKE '%EUR%'
答案 0 :(得分:1)
我解决了......这对你有用。
SET @euroequals = ' Euro equals';
SET @britishpound = ' British Pound';
UPDATE invoiceitem
SET description = CONCAT(total,@euroequals,(total*0.886021),@britishpound),
subtotal = (total*0.886021),
total = (total*0.886021)
WHERE invoiceID = 70372 AND item LIKE '%EUR%'
基本上,尝试使用SUM是导致问题的原因。这是我的业余错误和对你的MYSQL理解。