我有两个表,一个是Customer
,另一个是bill
。
customer
的列为custID
,name
。Bill
的列为custID
,month
,year
,amount
每次生成帐单时,都会使用bill
为该特定客户的custId
表创建一个条目。每个月都有一个客户账单,但账单的生成是手动的。
现在在特定月份,我想知道还没有为特定客户生成多少账单。
我是Java开发人员,也不熟悉SQL,所以我对此一无所知。
数据库:SQLite3
提前致谢。
我试过了:
select Customer.mCustomerId, Bill.Month,Bill.Year
from Customer
left outer join
Bill on Customer.mCustomerId = Bill.mCustomerId
答案 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'
我希望这些查询可以帮到你
度过愉快的一天