2015-10-20 60 views
2

你好,我有兩個表叫做cash_billings_returns_articles,cash_billings_bills_articles。我需要減去這個表格。在不存在的行中用負數減去兩個mysql表

表:cash_billings_returns_articles enter image description here

表:cash_billings_bills_articles enter image description here

我需要返回減法cashbillingBRCarticle_total列的,就像這樣:

cashbilling_id article_id cashbillingBRCarticle_total 
55    3564   0 
55    1871   0 
55    9134   0 
55    950   0 
55    4402   0 
55    2156   0 
55    2228   0 
55    2017   -90 
55    3397   0 

這些行代表比林斯的文章,它需要與每個減法的cashbilling_idarticle_id進行比較離子。

任何想法?

回答

1

嘗試這種解決方案

SELECT t.cashbilling_id AS cashbilling_id_bills, 
     s.cashbilling_id AS cashbilling_id_returns, 
     t.article_id, 
     t.cashbillingBRCarticle_total - IFNULL(s.cashbillingBRCarticle_total, 0) AS diff 
FROM cash_billings_bills_articles t 
    LEFT OUTER JOIN cash_billings_returns_articles s ON t.cashbilling_id = s.cashbilling_id AND t.article_id = s.article_id 
1

試試這個

SELECT 
    t2.cashbilling_id, 
    t2.cashbillingbill_id, 
    t2.article_id, 
    (t1.cashbillingBRCarticle_total - t2.cashbillingBRCarticle_total) cashbillingBRCarticle_total 
    FROM table2 t2 
    RIGHT JOIN table1 t1 ON t1.article_id = t2.article_id 
1

試試這個

select r.cashbillilng_id, r.cashbillingbill_id, r.article_id, 
r.cashbillingBRCarticle_total - b.cashbillingBRCarticle_total as cashbillingBRCarticle_total 
from cash_billings_bills_articles b 
left join cash_billings_returns_articles r 
on r.article_id=b.article_id