【问题标题】:MySQL Unknown column in where clause but column existsMySQL Unknown column in where 子句但列存在
【发布时间】:2013-01-15 03:14:46
【问题描述】:

所以似乎有些人以前遇到过这个问题,但是搜索并没有为我的案例找到答案。

我在跑步

 UPDATE ProdCosts SET PercentCost = ((ProdCosts.PieceCost/totalprodcost.sumpiececost)*100)
 WHERE totalprodcost.ProdNo=ProdCosts.ProdNo;
 AND ProdCosts.PieceCost > 0;

并得到错误

MySQL said: Documentation
#1054 - Unknown column 'totalprodcost.ProdNo' in 'where clause' 

DESCRIBE totalprodcost 显示:

Field   Type    Null    Key     Default     Extra
ProdNo  int(11) YES         NULL    
sumpiececost    double  YES         NULL    

我想不通。看起来很简单。什么给了?

【问题讨论】:

    标签: mysql sql join sql-update


    【解决方案1】:

    UPDATE 语句中加入表格,

    UPDATE  ProdCosts a
            INNER JOIN totalprodcost b
                ON b.ProdNo = a.ProdNo
    SET     a.PercentCost = ((a.PieceCost/b.sumpiececost)*100)
    WHERE   a.PieceCost > 0;
    

    【讨论】:

      【解决方案2】:

      试试这个查询

      更新 ProdCosts, totalprodcost SET ProdCosts.PercentCost = ((ProdCosts.PieceCost/totalprodcost.sumpiececost)*100) 其中 totalprodcost.ProdNo=ProdCosts.ProdNo AND ProdCosts.PieceCost > 0;

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-16
        • 1970-01-01
        • 1970-01-01
        • 2021-12-31
        • 2011-07-06
        相关资源
        最近更新 更多