Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在mysql中连接查询和计算?_Php_Mysql_Codeigniter - Fatal编程技术网

Php 如何在mysql中连接查询和计算?

Php 如何在mysql中连接查询和计算?,php,mysql,codeigniter,Php,Mysql,Codeigniter,如何在mysql中连接查询和计算 表中的fab_ 制表 我的问题如下 SELECT fabric_in.fabric_id, fabric_in.fabric_date, fabric_in.fabric_order_qty, fabric_in.fabric_rejected_qty, fabric_in.fabric_rejected_reason, fabric_in.fabric_total_qty, fabric_in.fabric_company_name, fabric_o

如何在mysql中连接查询和计算

表中的fab_

制表

我的问题如下

  SELECT fabric_in.fabric_id, fabric_in.fabric_date, fabric_in.fabric_order_qty, fabric_in.fabric_rejected_qty, fabric_in.fabric_rejected_reason, fabric_in.fabric_total_qty, fabric_in.fabric_company_name, fabric_out.fabric_out_qty 
    FROM fabric_out 
    RIGHT JOIN fabric_in 
ON fabric_out.fabric_id=fabric_in.fabric_id
结果查询

但是我想要和面料的关系,你能帮忙吗

作为新版本,您需要添加所有列作为分组依据或加重功能。因此,您可以这样使用查询

    SELECT fabric_in.fabric_id,fabric_in.fabric_date, 
    fabric_in.fabric_order_qty, fabric_in.fabric_rejected_qty,
    fabric_in.fabric_rejected_reason, fabric_in.fabric_total_qty,
    fabric_in.fabric_company_name,a.fabric_out_qty 
        FROM fabric_in 
        RIGHT JOIN  (select fabric_id,sum(fabric_out_qty) as total from 
    fabric_out group by fabric_id ) as a
    ON a.fabric_id=fabric_in.fabric_id

作为新版本,您需要将所有列添加为group by或EARGER函数。因此,您可以这样使用查询

    SELECT fabric_in.fabric_id,fabric_in.fabric_date, 
    fabric_in.fabric_order_qty, fabric_in.fabric_rejected_qty,
    fabric_in.fabric_rejected_reason, fabric_in.fabric_total_qty,
    fabric_in.fabric_company_name,a.fabric_out_qty 
        FROM fabric_in 
        RIGHT JOIN  (select fabric_id,sum(fabric_out_qty) as total from 
    fabric_out group by fabric_id ) as a
    ON a.fabric_id=fabric_in.fabric_id

您必须使用MySQL的聚合函数:

SELECT MAX(fabric_in.fabric_id) as fabric_id, 
       MAX(fabric_in.fabric_date) as fabric_date, 
       MAX(fabric_in.fabric_order_qty) as fabric_order_qty, 
       MAX(fabric_in.fabric_rejected_qty) as fabric_rejected_qty, 
       MAX(fabric_in.fabric_rejected_reason) as fabric_rejected_reason, 
       MAX(fabric_in.fabric_total_qty) as fabric_total_qty, 
       MAX(fabric_in.fabric_company_name) as fabric_company_name, 
       SUM(fabric_out.fabric_out_qty) AS fabric_out_qty
    FROM fabric_out 
    RIGHT JOIN fabric_in 
    ON fabric_out.fabric_id=fabric_in.fabric_id
    GROUP BY fabric_in.fabric_id

这本书适合您,未经测试。

您必须使用MySQL的聚合函数:

SELECT MAX(fabric_in.fabric_id) as fabric_id, 
       MAX(fabric_in.fabric_date) as fabric_date, 
       MAX(fabric_in.fabric_order_qty) as fabric_order_qty, 
       MAX(fabric_in.fabric_rejected_qty) as fabric_rejected_qty, 
       MAX(fabric_in.fabric_rejected_reason) as fabric_rejected_reason, 
       MAX(fabric_in.fabric_total_qty) as fabric_total_qty, 
       MAX(fabric_in.fabric_company_name) as fabric_company_name, 
       SUM(fabric_out.fabric_out_qty) AS fabric_out_qty
    FROM fabric_out 
    RIGHT JOIN fabric_in 
    ON fabric_out.fabric_id=fabric_in.fabric_id
    GROUP BY fabric_in.fabric_id
这本书适合你,没有经过测试。

试试这个

SELECT 
    fabric_in.fabric_id,
    fabric_in.fabric_date, 
    fabric_in.fabric_order_qty, 
    fabric_in.fabric_rejected_qty,
    fabric_in.fabric_total_qty,
    fabric_in.fabric_company_name,
    a.fabric_out_qty 
FROM fabric_in RIGHT JOIN  
    (select sum(fabric_out_qty) as out_total FROM fabric_out group by fabric_id ) as a ON a.fabric_id=fabric_in.fabric_id;
试试这个

SELECT 
    fabric_in.fabric_id,
    fabric_in.fabric_date, 
    fabric_in.fabric_order_qty, 
    fabric_in.fabric_rejected_qty,
    fabric_in.fabric_total_qty,
    fabric_in.fabric_company_name,
    a.fabric_out_qty 
FROM fabric_in RIGHT JOIN  
    (select sum(fabric_out_qty) as out_total FROM fabric_out group by fabric_id ) as a ON a.fabric_id=fabric_in.fabric_id;

按结构使用MySQL组的SUM(fabric_out_qty)函数按结构使用MySQL组的SUM(fabric_out_qty)函数谢谢jazdanowThank you jazdanowThank you monaris谢谢你