ЕГ
Size: a a a
ЕГ
ЕГ
YS
-- Вообще, не стоит использовать ключевые слова, вроде user, как названия таблиц
SELECT "user".firstname || ' ' || "user".lastname AS fullname,
"user".level,
COALESCE(SUM(revenues.revenue), 0.00) AS total_revenue,
COALESCE(SUM(revenues_m.revenue), 0.00) AS this_month_revenue
FROM "user" AS "user"
LEFT JOIN revenue AS revenues
ON revenues."userId" = "user".id
LEFT JOIN revenue AS revenues_m -- Зачем таблица JOIN-ится второй раз?
-- Можно же отфильтровать в SELECT
ON revenues_m."userId" = "user".id
WHERE "user"."referrerId" = 2
AND revenues_m.created_at BETWEEN '2021-02-23'::timestamp AND '2021-03-23'::timestamp
-- Выше сразу две ошибки --- помещение условия на nullable table из LEFT JOIN
-- в WHERE (что "превращает" его в INNER); timestamp вместо timestamptz
GROUP BY "user".id;
ЕГ
KZ
ЕГ
ЕГ
-- Вообще, не стоит использовать ключевые слова, вроде user, как названия таблиц
SELECT "user".firstname || ' ' || "user".lastname AS fullname,
"user".level,
COALESCE(SUM(revenues.revenue), 0.00) AS total_revenue,
COALESCE(SUM(revenues_m.revenue), 0.00) AS this_month_revenue
FROM "user" AS "user"
LEFT JOIN revenue AS revenues
ON revenues."userId" = "user".id
LEFT JOIN revenue AS revenues_m -- Зачем таблица JOIN-ится второй раз?
-- Можно же отфильтровать в SELECT
ON revenues_m."userId" = "user".id
WHERE "user"."referrerId" = 2
AND revenues_m.created_at BETWEEN '2021-02-23'::timestamp AND '2021-03-23'::timestamp
-- Выше сразу две ошибки --- помещение условия на nullable table из LEFT JOIN
-- в WHERE (что "превращает" его в INNER); timestamp вместо timestamptz
GROUP BY "user".id;
Ð
YS
ЕГ
Ð
ЕГ
D
ЕГ
Ð
Ð
Ð
YS
Ð
VY