我有一个MySQL表payment,用于存储客户的所有与付款相关的数据。表字段是:fileNoclientNamebillNobillAmountstatus。我想构建一个搜索表单,在其中输入fileNoclientName,这将生成一个表,该表将获取该文件号或客户端名称(status = 0(未付费))的所有记录。 billAmount是浮点数。

我的MySQL不好,但这是我的SQL版本,文件编号

$sql = "SELECT * FROM `payment` WHERE `fileNo` = '$fileNo' AND `status` = '0'";


SQL by clientName

$sql = "SELECT * FROM `payment` WHERE `clientName` = '$clientName' AND `status` = '0'";


无论采用哪种方式进行查询,我都需要针对该fileNo或clientName显示未付的总额。

据我了解,SUM()操作应如下所示:

$sql = "SELECT SUM(billAmount) AS `unpaid` WHERE `fileNo` = '$fileNo' AND `status` = '0'";


要么

$sql = "SELECT SUM(billAmount) AS `unpaid` WHERE `clientName` = '$clientName' AND `status` = '0'";


我的问题是,我对SUM()操作是否正确?以及如何获得我选择为unpaid的未付总金额?我可以将其存储在变量中吗?

任何想法,建议或资源链接将不胜感激!

最佳答案

我认为您应该使用第二个查询,但是您错过了WHEre子句

   $sql = "SELECT SUM(billAmount) AS `unpaid` FROM payment WHERE `clientName` = '$clientName' AND `status` = '0'";


您的未付总金额是的,您无法像那样获取变量

 $result = mysql_query($sql);
 $row = mysql_fetch_array($result);
   ehco   $row['unpaid'] ;          <------ this will give you the unpaid amount.


当然,在您获取查询之后。

10-07 14:01