有两个表,coating_out(发出表),coating_in(收入表),如图:
两个表中有一个共同的字段coatoutno,coatingout表中coatoutno是唯一的,coatingin(收入)表中coatoutno有重复的,现在需要在coatingin(收入)表中根据coatoutno的号码,把coatinqty(收入数量)列的数量相加,再用coatingout(发出)表中coatoutqty(发出数量)减去coatinqty的和,求出结果放在balance(余数)列中。
自己写的SQL语句如下:
运行结果应该是10000,实际是60000,如下图:
哪位大神看下错误在哪里?如何解决?谢谢!
版主你好!刚学mysql,具体要怎么写?能否写出来?谢谢!
(select a.*,sum(coatinqty) coatinqtysum from coating_in a group by a.coatoutno) b where c.coatoutno =b.coatoutno
(select coatoutno,sum(coatinqty) sumcoatinqty
from coating_in
group by coatoutno) b
where a.coatoutno =b.coatoutno
你运行的结果不对,是SQL语问因为产生笛卡尔积了,计算的是产生笛卡尔积结果集后的值。
3楼写的SQL语句是对的,但不太严谨。
这个结果对了,但是写到PHP代码中在网页中运行就不行了,网页代码懂吗?怎么写?
这个结果对了,但是写到PHP代码中在网页中运行就不行了,网页代码懂吗?怎么写?
不好意思,代码之类的就不懂了
(select a.*,sum(coatinqty) coatinqtysum from coating_in a group by a.coatoutno) b where c.coatoutno =b.coatoutno