Criei um script, mas estou recebendo uma mensagem de erro. Gostaria de feedback/conselhos

Isso provavelmente deveria ser um comentário em um tópico, mas não consegui encontrar o correto. O de scripts interessantes parece estar bloqueado agora.

O script foi projetado para extrair user_id, username, name, email, custom_field1, custom_field2, trust_level, visits e algumas outras estatísticas.

Aqui está o código

SELECT
    pr.user_id,
    username,
    name,
    email,
    uf.custom_field1,
    uf.custom_field2,
    tl.trust_level,
    visits,
    COALESCE(topics_viewed, 0) AS topics_viewed,
    COALESCE(posts_read, 0) AS posts_read,
    COALESCE(posts_created, 0) AS posts_created,
    COALESCE(topics_created, 0) AS topics_created,
    COALESCE(topics_with_replies, 0) AS topics_with_replies,
    COALESCE(likes_given, 0) AS likes_given,
    COALESCE(likes_received, 0) AS likes_received
FROM pr
LEFT JOIN tv USING (user_id)
LEFT JOIN pc USING (user_id)
LEFT JOIN tc USING (user_id)
LEFT JOIN twr USING (user_id)
LEFT JOIN lg USING (user_id)
LEFT JOIN e USING (user_id)
LEFT JOIN uf USING (user_id)
LEFT JOIN tl USING (user_id)

e aqui está a mensagem de erro que estou recebendo:

PG::UndefinedTable: ERROR:  relation "pr" does not exist
LINE 23: FROM pr
              ^

Alguém consegue ver o que eu perdi, pois simplesmente não consigo encontrar? Eu não sou bom em SQL, então tem sido um pouco difícil chegar até aqui.

Por favor e obrigado.

O problema é que nenhuma dessas tabelas existe. FROM pr significa selecionar linhas da tabela pr, mas não há nenhuma tabela pr no Discourse.

Talvez você quisesse dizer posts ou topics? O mesmo vale para todas as outras junções, nenhuma dessas tabelas existe.

3 curtidas

Eu acho que foi adaptado desta postagem:

Mas você precisaria usar a consulta completa @Drew-ART, em vez de selecionar trechos sem adaptá-la para compensar as partes ausentes.

4 curtidas

Obrigado @Falco e @JammyDodger. Parece que pulei uma grande parte disso. Vou tentar de novo :slight_smile:

3 curtidas

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.