2013-10-29 68 views
0

我在我的SQLite数据库2代表加入一个是用户与其他的付款如何从一个表中检索所有记录在当月记录

USERS:

ID Name 
"1" "shan" 
"2" "Abc" 
"3" "Def" 
"4" "Whi" 

付款:

ID UserID PayDate   Amount 
"1" "1" "2013-10-27" "700" 
"2" "1" "2013-11-12" "700" 
"3" "2" "2013-09-12" "800" 

如何检索支付当月金额的所有用户和用户。我还想要所有尚未付款的用户。

+0

IM在sqlite的努力,我已经试过这种 选择Users.Name,Users.HouseNo,的strftime( '%Y-%间%d',Payments.PayDate)从用户 日期留在 加入付款 Users.ID = Payments.UserID 其中 strftime('%m',Payments.PayDate)

回答

0

尝试财产以后这样的:

SELECT Users.Name 
FROM Users 
LEFT JOIN Payments 
    ON Users.ID = Payments.UserID 
WHERE Payments.PayDate = <date you are looking for> 

您还可以使用WHERE PayDate BETWEEN“日期1”和“日期2” 这将返回所有用户和支付将是NULL,如果没有付款记录。

+0

它没有显示所有用户 –

+0

所有用户都只会到达,直到我'不要使用where子句。但写了我的where子句后,它只显示支付金额 –

+0

的用户谢谢@Kairan我做了它,我做了一些小的改变,你的查询 像这样在条款 '2013-10-1'和''之间Payments.PayDate' 2013-10-31'或Payments.PayDate为空 –

相关问题