php - 使用 sum,group by 从不同的表访问查询
问题描述
我在名为“tbl_stock”和“tbl_sale”的两个表上有以下列和数据
- tbl_stock
ID | stock_yard_name | stock_net_weight |
---|---|---|
1 | 阿萨姆手镯 | 31000 |
2 | 巴瑞克大厦 | 32000 |
3 | 阿萨姆手镯 | 32050 |
- tbl_sale
ID | sale_yard_name | sale_net_weight |
---|---|---|
1 | 阿萨姆手镯 | 31000 |
2 | 巴瑞克大厦 | 31200 |
我想像图片一样做一个总结 图片链接
如何正确查询
这是我尝试过的方法
<?php
$query = "SELECT stock_yard_name, SUM(stock_net_weight) AS stock_net, SUM(tbl_sale.sale_net_weight) AS sale_net
FROM tbl_stock LEFT JOIN tbl_sale
ON tbl_stock.stock_yard_name = tbl_sale.sale_yard_name
GROUP BY stock_yard_name
";
$post = $db->select($query);
if ($post) {
while ($result = $post->fetch_assoc()) {
?>
<tr>
<td>
<label><?php echo $result['stock_yard_name']; ?></label>
</td>
<td>
<?php echo $result['stock_net']; ?><span> KG</span>
</td>
<td>
<?php echo $result['sale_net']; ?><span> KG</span>
</td>
<td>
<?php $balanced = ($result['stock_net']-$result['sale_net']); ?>
<?php echo $balanced; ?><span> KG</span>
</td>
</tr>
<?php }} ?>
</tbody>
解决方案
这应该给你你正在寻找的东西。
select distinct stock_yard_name, stock, sale
from (
select stock_yard_name , sum(stock_net_weight) stock
from table1
group by stock_yard_name) t1
join (
select sale_yard_name, sum( sale_net_weight) sale
from table2
group by sale_yard_name
) t2 on stock_yard_name = sale_yard_name
推荐阅读
- vb.net - 具有多个扩展名过滤器并按文件名排序的 Getfile
- vba - excel listObject问题
- php - 在本地服务器上工作正常,但是一旦我在 Live 服务器上部署,它就会显示错误的 IP
- angularjs - AngularJS | 从文件夹构建路径
- android - SharedPreferences 包含方法总是返回 true
- java - java web应用程序的哈希+盐
- android - 我正在尝试显示由我创建的通知,而不是 firebase。它适用于旧手机,而不是奥利奥
- google-classroom - 向教室 FAB 添加一个按钮
- python - python - FAB 自定义插件创建和安装
- android - 当从后台堆栈中弹出片段时,片段中的 getParentFragment() 返回 null