繁体   English   中英

从两个具有相同列名(总计)的表(销售/费用)中选择

[英]Selecting from two tables (sales/expenses) with the same column name (total)

我尝试了一些操作,到目前为止,这是唯一不引发错误的操作,但是结果不会在页面上回显,因此我不确定发生了什么。

$query = "SELECT SUM(sales.total) AS sales_total, SUM(expenses.total) AS expenses_total FROM sales,expenses";

其他所有东西都设置得很完美,我之前从未不必调用多个表。

例如,我如何在HTML中回显:

<? echo $row['SUM(sales_total)']; ?>
<? echo $row['SUM(expenses_total)']; ?>

谢谢!

编辑:附上我胡说八道的图片:) 在此处输入图片说明

这是笛卡尔联接,不会为您提供所需的结果。

$query = "SELECT SUM(sales.total) AS sales_total, SUM(expenses.total) AS expenses_total FROM sales,expenses";

您需要阅读内部联接才能正确执行此操作。 如果没有更多详细信息,除了进行两个查询(每个表一个)之外,我无法建议您如何解决该查询。 由于您要为每个字段指定一个AS子句,因此需要将回显修改为:

<? echo $row['sales_total']; ?>
<? echo $row['expenses_total']; ?>

希望有帮助!

更新:修改查询以产生所需的结果:

$query = "SELECT sales_summary.sales_total,
                 expenses_summary.expenses_total 
          FROM (SELECT SUM(sales.total) AS sales_total 
                  FROM sales) sales_summary, 
               (SELECT SUM(expenses.total) AS expenses_total 
                  FROM expenses) expenses_summary";

可能您应该使用两个单独的查询

否则,您将得到笛卡尔积。

更多信息: http : //en.wikipedia.org/wiki/Join_(SQL)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM