SQLITE:从两个不同的列值中获得差异

时间:2014-07-03 08:40:24

标签: sqlite sum

我有2个表命名..InvoiceGarmentService和Payment ..

InvoiceGarmentService Table Data
----------------------------------
IGSID     InvoiceID   Price

0           1001      50

1           1001      100

2           1002      500

3           1002      600

------------------------------------
Payment Data
------------------------------------
PaymentID InvoiceID Amount

0          1001      20

1          1002      300

2          1003      900

------------------------------------

我想得到应有的金额,即。 (Sum of Price From IGS)-(Sum of Amount from Payment) 我使用了像这样的查询

SELECT sum(Price) FROM InvoiceGarmentService - sum(Amount)FROM Payment 
WHERE InvoiceGarmentService.InvoiceID='1001'

但我无法找到结果..这里是一个语法错误,但我知道这个... 任何人都可以帮助我

1 个答案:

答案 0 :(得分:1)

SELECT igs.InvoiceID, (val1 - val2)
  FROM (SELECT InvoiceID, sum(Price) AS val1
          FROM InvoiceGarmentService
         GROUP BY InvoiceID) igs
  JOIN (SELECT InvoiceID, sum(Amount) AS val2
          FROM Payment
         GROUP BY InvoiceID) p
    ON (igs.InvoiceID = p.InvoiceID)
 WHERE igs.InvoiceID = '1001'