使用数据库中的值进行计算

时间:2014-08-14 08:19:47

标签: php mysql

我在设计方面做得更好,但我需要做到这一点,并且无法弄清楚如何做到这一点,以便解释问题:

所以我有这张桌子:

enter image description here

这一个:

enter image description here

  1. 我想做的是计算第一个表中iliquido的总和,并将结果放在total_iliquido形成第二个表,其中id_proposta相等表;

  2. total_iliquido获取值并使用desconto(折扣)计算并将值放在小计上;

  3. 取小计值并用iva计算并将结果合计;

  4. 有人可以解释我该怎么做,真的需要你的帮助。因此,根据需要,它是数据库的结构:

    第一桌:

    img

    第二桌:

    img

    和我建立的联系:

    img

    所以我希望它有所帮助。

2 个答案:

答案 0 :(得分:1)

UPDATE propostas t2
INNER JOIN(
   SELECT id_proposta, SUM(iliquido) as total
   FROM proposta_print
   GROUP BY id_proposta
) x ON t2.id_proposta = x.id_proposta
SET t2.total_iliquido = x.total, 
    t2.subtotal = t2.total_iliquido*t2.desconto/100, 
    t2.total = (t2.subtotal*t2.iva/100)+t2.subtotal

修复顶部的那个,谢谢你的帮助Stefan Manciu。

答案 1 :(得分:0)

我没有测试过,但你可能会有这个想法。

UPDATE table2 t2
INNER JOIN(
   SELECT id_proposta, SUM(iliquido) as total
   FROM table1
   GROUP BY id_proposta
) x ON table2.id_proposta = table1.id_proposta
SET table2.total_iliquido = x.total, 
    table2.subtotal = table2.total_iliquido-table2.discount, 
    table2.total=table2.subtotal+table2.iva

修改

要使用php执行此查询,您可以使用以下代码:

<?php
    $link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
    if (!$link) {
        die('Fail: ' . mysql_error());
    }
    echo 'Success';

    $query = "...";
    $result = mysql_query($query);
    if (!$result) {
        die('Invalid query: ' . mysql_error());
    }

    mysql_close($link);
?>