我的SQL不是很流利,我的问题是如何重写以下语句以使其看起来更自然。我正在尝试编写的select
加入两个表 - “用户”和“统计数据” - 我事先知道用户的身份。它可能是非常基本的东西,但我还不是SQL忍者。
select
u.id,
sum(s.xxx)
from
(
select id from users where id in (100, 200, 300)
) u
left join
stats s
on u.id = s.user_id
group by
u.id
;
看起来很奇怪的部分是
(
select id from users where id in (100, 200, 300)
) u
建议我正确的方法。感谢
答案 0 :(得分:3)
这是一种复杂的说法
... WHERE id in (100,200,300)
在WHERE
条款中。
整个事情可以改写为:
select
u.id,
sum(s.xxx)
from
users u
left join stats s
on s.user_id = u.id
where u.id in (100, 200, 300)
group by
u.id