【问题标题】:MySQL/SQL query with errors [closed]有错误的 MySQL/SQL 查询 [关闭]
【发布时间】:2015-01-13 07:14:51
【问题描述】:

我在下面有这个查询,其中有很多错误。

有人知道 MySQL/SQL 足以修复错误吗?

UPDATE shopproducts AS wesp
JOIN currencies AS wec
JOIN shopcategories AS wesc
JOIN shops AS wes
IF(wesc.adelivery = 1)
    SET wesp.totalprice = ROUND(wesp.price / 100 * wec.value, 0) + wes.adelivery
ELSE IF(wesc.bdelivery = 1)
    SET wesp.totalprice = ROUND(wesp.price / 100 * wec.value, 0) + wes.bdelivery
ELSE
    IF(wesp.price <= wes.freedelivery)
        SET wesp.totalprice = ROUND(wesp.price / 100 * wec.value, 0)
    ELSE
        SET wesp.totalprice = ROUND(wesp.price / 100 * wec.value, 0) + wes.stddelivery
WHERE wesp.currency = wec.name
AND wesp.sortcategory = wesc.category
AND wesp.shop = wes.name

谢谢!

【问题讨论】:

  • 您遇到的错误是什么
  • 做了什么来修复错误?

标签: mysql sql


【解决方案1】:

这样用,

UPDATE shopproducts AS wesp
JOIN currencies AS wec
JOIN shopcategories AS wesc
JOIN shops AS wes
SET wesp.totalprice = case when (wesc.adelivery = 1) then ROUND(wesp.price / 100 * wec.value, 0) + wes.adelivery .....(like this way all the when) end  

WHERE wesp.currency = wec.name
AND wesp.sortcategory = wesc.category
AND wesp.shop = wes.name

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-31
  • 1970-01-01
  • 2015-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多