SELECT count(*), flavor
FROM coffees
- WHERE time BETWEEN
+ WHERE (coffees.time BETWEEN
{dtf}
- AND {dtt}
+ AND {dtt})
GROUP BY flavor
"""
elif q == "get_drinkers_of":
if isinstance(b, tuple) or isinstance(b, list):
assert len(b) > 0
- f = f"WHERE flavor = '{b[0]}'"
+ f = f"WHERE (flavor = '{b[0]}'"
for i in b[1:]:
f += f" OR flavor = '{i}'"
+ f += ")"
else:
assert b != ""
f = f"WHERE flavor = '{b}'"
return f"""
SELECT count(*), users.name FROM coffees
- LEFT JOIN identifiers on coffees.id = identifiers.userid
- LEFT JOIN users on identifiers.userid = users.id
+ INNER JOIN identifiers on coffees.id = identifiers.id
+ INNER JOIN users on identifiers.userid = users.id
{f}
- AND coffees.time BETWEEN
+ AND (coffees.time BETWEEN
{dtf}
- AND {dtt}
- GROUP BY identifiers.userid
+ AND {dtt})
+ GROUP BY users.id
"""