如何将(2)cols与(2)不同的表相乘,并将结果输入到表(1)中创建的新col中

时间:2014-11-10 19:29:31

标签: php mysql

  1. 我在数据库中有(2)个表:Products,ProductSold
  2. 产品

    --------------------    
    | id | name | cost |    
    --------------------    
    101  | Jeans|  32       
    102  | shoes|  53       
    

    ProductSold

    ----------------------------
    | strNum | amtSold | sales |
    ----------------------------
     100    |   83    |  NULL
     100    |  105    |  NULL
    
    1. 我需要乘以(amountSold * cost)列。

    2. 我需要在ProductSold表中的“sales”列中输入结果。

    3. *注意:我有一个连接到我的数据库的PHP脚本,获取其中的数据,并将其显示在html表中。


      |产品编号|产品描述|商店| QTR |已售金额|成本|销售|

        101                Jeans           100    1          83        32
        102                Shoes           100    1         105        53
      

1 个答案:

答案 0 :(得分:1)

确定。假设您的数据库设置正确,这并不困难,在这种情况下它不是。目前,您的productId表中没有ProductSold列,这意味着amtSold没有任何意义,因为我们不知道销售的是什么。所以,你的表应该是这样的:

id | strNum | prodId | amtSold
1  | 100    | 101    | 83
2  | 100    | 102    | 105

这样可以在这里进行计算。对于您的select语句,它将类似于:

SELECT p.prodId, p.name, ps.strNum, p.cost, ps.amtSold FROM ProductSold ps, (p.cost * ps.amtSold) AS profit 
LEFT JOIN Products p ON p.id = ps.id;

获取基本信息。这将返回:

prodId | name  | strNum | cost | amtSold | profit
=================================================
101    | Jeans | 100    | 32   | 83      | 2656
102    | Shoes | 100    | 53   | 105     | 5565

现在,只要您的查询对其进行了计算,您就不需要直接在数据库中存储利润。希望这有帮助!