连接两个表,并求和和拟合

时间:2019-04-27 22:18:17

标签: sql sqlite android-sqlite

我有两个具有以下模式的表UsersInputs

Users - id, name, create_time
Inputs - id, user_id, create_time, amount

我创建了2个类似的查询,从两个表中选择联接数据。

第一个查询返回所有用户,并添加一个名为daily_amount的字段,该字段求和给定时间范围内每个用户的所有Inputs-工作正常

第二个查询-添加用户ID过滤器

我想通过ID(给定查询中的id = 12)将查询限制为特定的用户,结果不一致,我得到一条记录,但是它有一个不同的Id和{{ 1}}不正确。

感谢您的帮助。

daily_amount

1 个答案:

答案 0 :(得分:1)

您必须将条件放在WHERE子句中

SELECT Users.id,
       Users.name,
       Users.create_time,
       SUM(Inputs.amount) AS daily_amount
FROM Users
LEFT JOIN Inputs ON Users.id = Inputs.user_id
WHERE Users.id = 12
AND Inputs.create_time BETWEEN startTime AND endTime
GROUP BY Users.id, Users.name, Users.create_time