SQL группировка и псевдоним - PullRequest
0 голосов
/ 19 января 2020

Почему я получаю ошибку

Ошибка запроса: ошибка: синтаксическая ошибка в или около "from"

в следующем запросе:

select hi.d, hi.genre2, hi.total  
from (select t1.id as d, t1.genre as genre1, t2.genre as genre2, 
      CASE WHEN t2.genre = t1.genre 
      THEN t1.total
      ELSE 0
      END as TOTAL) as hi
from (select id, genre, SUM(spend) AS TOTAL
      from users group by id, genre) as t1
cross join users as t2
group by t1.id, t2.genre, t1.genre, t1.total))

Кроме того, зачем мне включать t1.genre и t1.total в последнюю группу (иначе я получаю сообщение об ошибке)?

1 Ответ

1 голос
/ 19 января 2020

попробуйте следующее:

SELECT hi.d, 
       hi.genre2, 
       hi.TOTAL
FROM
(
    SELECT t1.id AS d, 
           T1.GENRE AS genre1, 
           t2.genre AS genre2,
           CASE
               WHEN t2.genre = t1.genre
               THEN t1.total
               ELSE 0
           END AS TOTAL
    FROM
    (
        SELECT id, 
               genre, 
               SUM(spend) AS TOTAL
        FROM users
        GROUP BY id, 
                 genre
    ) AS t1
    CROSS JOIN users AS t2
) hi;

Я думаю, что 'hi' неправильно введен в запрос, а группировка по не требуется после перекрестного соединения.

...