2015-10-20 59 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