Как я могу переписать подзапрос внутри JOIN? - PullRequest
0 голосов
/ 23 ноября 2010

Я не очень хорошо владею 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

Предложите мне правильный путь.Спасибо

1 Ответ

3 голосов
/ 23 ноября 2010

Это сложный способ сказать

.... 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...