查找未为特定客户生成帐单的月份和年份

时间:2015-11-07 06:42:29

标签: sql sqlite join

我有两个表,一个是Customer,另一个是bill

  • customer的列为custIDname
  • Bill的列为custIDmonthyearamount

每次生成帐单时,都会使用bill为该特定客户的custId表创建一个条目。每个月都有一个客户账单,但账单的生成是手动的。

现在在特定月份,我想知道还没有为特定客户生成多少账单。

我是Java开发人员,也不熟悉SQL,所以我对此一无所知。

数据库:SQLite3

提前致谢。

我试过了:

select Customer.mCustomerId, Bill.Month,Bill.Year 
from Customer 
left outer join 
Bill on Customer.mCustomerId = Bill.mCustomerId

1 个答案:

答案 0 :(得分:0)

假设每个月都会为该月生成一个帐单条目,而对于一个客户而且金额为空或手动输入,您可以找到一个客户,哪个月是'账单生成但金额为空:

SELECT * FROM Customer c LEFT JOIN Bill b ON c.custid = b.custid WHERE c.custid = 1 AND b.amount  IS NULL

但是,如果您想要查找一年中客户缺少的月数,此查询将返回缺少的月数:

SELECT (12 - COUNT(b.month)) FROM Customer c LEFT JOIN Bill b ON c.custid = b.custid WHERE c.custid = 1 AND b.year = '2015'

我希望这些查询可以帮到你

度过愉快的一天