Php 如何在mysql中连接查询和计算?
如何在mysql中连接查询和计算 表中的fab_ 制表 我的问题如下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
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谢谢你