Ho creato uno script ma ricevo un messaggio di errore. Mi piacerebbe ricevere feedback/consigli

Questo dovrebbe probabilmente essere un commento in un thread, ma non sono riuscito a trovarne uno corretto. Quello dei cool scripts sembra essere bloccato ora.

Lo script è progettato per estrarre user_id, username, name, email, custom_field1, custom_field2, trust_level, visits e alcune altre statistiche.

Ecco il codice

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 questo è il messaggio di errore che ricevo:

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

Qualcuno può vedere cosa mi sono perso perché non riesco a trovarlo. Non sono esperto di SQL, quindi è stata un po’ una lotta arrivare fin qui.

Per favore e grazie.

Il problema è che nessuna di quelle tabelle esiste. FROM pr significa selezionare righe dalla tabella pr, ma non esiste alcuna tabella pr in Discourse.

Forse intendevi posts o topics? Lo stesso vale per ogni altro join, nessuna di quelle tabelle esiste.

3 Mi Piace

Penso che sia stato adattato da questo post:

Ma dovresti usare la query completa @Drew-ART, piuttosto che scegliere parti senza adattarle per compensare le parti mancanti.

4 Mi Piace

Grazie @Falco e @JammyDodger. Sembra che mi sia perso una grossa parte di questo. Ci riproverò :slight_smile:

3 Mi Piace

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