扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
参考一下:
创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站制作、成都网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的汤阴网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
有两表,hctotaltmp(总表),hctotalout(出库表),字段分别为catalogue,hc,number。现已实现php前台显示出剩余的各数量。但是如何同时显示在总表中,但未出库的数量。
$sql = "SELECT hctotaltmp.catalogue,hctotaltmp.hc, hctotaltmp.number - ifnull(hctotalout.number, 0)
FROM
hctotalout
LEFT JOIN hctotaltmp ON hctotalout.hc = hctotaltmp.hc
GROUP BY
hc DESC
ORDER BY
catalogue DESC ";
这样的话,只能存在于hctotalout表里面的数据才会显示出来。我想把所有的都显示出来,没出库的数量就显示为总表中的数量,出库的话就是总表数量减出库表对应字段的数量。
UPDATE
A
SET
A.数量 = A.数量 - B.退货数量
FROM
A JOIN B
ON (A.物料编号 = B.物料编号);
上面这种2表关联更新写法
对于 A 表 与 B 表, 是 1对1 的情况下, 是没有问题的。
对于 A 表与 B 表, 是 1对多的情况下, 就没有测试过了。
select tid, a.sum-b.sum
from (select tid, sum(num) as sum from A order by tid)a,
(select tid, sum(num) as sum from B order by tid)b
where a.tid = b.tid
试一下上面的sql语句行不行
oracle:
[TEST1@orcl#19-4月 -10] SQLselect * from a;
SNO CON
---------- ----------
1 1
1 2
1 3
2 1
2 2
2 3
已选择6行。
[TEST1@orcl#19-4月 -10] SQLselect * from b;
SNO CON
---------- ----------
1 1
1 2
2 2
2 3
[TEST1@orcl#19-4月 -10] SQLselect * from a minus select * from b;
SNO CON
---------- ----------
1 3
2 1
mmysql:
select * from a where (sno,con) not in (select sno,con from b);
看看这个 或许对你有所帮助
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流