參考一下:
創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站制作、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的湯陰網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
有兩表,hctotaltmp(總表),hctotalout(出庫表),字段分別為catalogue,hc,number?,F(xiàn)已實現(xiàn)php前臺顯示出剩余的各數(shù)量。但是如何同時顯示在總表中,但未出庫的數(shù)量。
$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表里面的數(shù)據(jù)才會顯示出來。我想把所有的都顯示出來,沒出庫的數(shù)量就顯示為總表中的數(shù)量,出庫的話就是總表數(shù)量減出庫表對應(yīng)字段的數(shù)量。
UPDATE
A
SET
A.數(shù)量 = A.數(shù)量 - B.退貨數(shù)量
FROM
A JOIN B
ON (A.物料編號 = B.物料編號);
上面這種2表關(guān)聯(lián)更新寫法
對于 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);
看看這個 或許對你有所幫助