postgresql返回表错误:列引用不明确

时间:2016-08-12 12:19:43

标签: postgresql return ambiguous

我正在尝试在R中运行查询以检查两个不同subreddits之间的共享评论者。但是,我一直收到以下错误:

  

警告:postgresqlExecStatement中出错:RS-DBI驱动程序:(无法检索结果:错误:列引用" subreddit"不明确   )

我出错的任何想法?

query <- sprintf("
SELECT final.subreddit_a, final.subreddit_b 
FROM 
  (SELECT a.subreddit AS subreddit_a, 
          a.authors AS authors_in_sub_a, 
          b.subreddit AS subreddit_b, 
          b.authors AS authors_in_sub_b, 
          floor(100 * (count(*)/((a.authors + b.authors)/2))) AS percentage 
  FROM
    (SELECT t1.author AS author, 
            t1.subreddit AS subreddit, 
            t2.authors AS authors
    FROM 
      (SELECT DISTINCT author, subreddit 
      FROM %s 
      WHERE %s author!='[deleted]') AS t1
      JOIN 
        (SELECT * 
        FROM 
          (SELECT subreddit, count(distinct author) AS authors 
          FROM %s 
          WHERE %s author!='[deleted]' GROUP BY subreddit) AS t5 
          WHERE authors >= %s) AS t2
      ON t1.subreddit=t2.subreddit
      GROUP BY subreddit, author) AS a
    JOIN 
      (SELECT t3.author AS author, 
              t3.subreddit AS subreddit, 
              t4.authors AS authors
      FROM 
        (SELECT DISTINCT author, subreddit 
        FROM %s 
        WHERE %s author!='[deleted]') AS t3
        JOIN 
          (SELECT * 
          FROM 
            (SELECT subreddit, count(distinct author) AS authors 
            FROM %s 
            WHERE %s author!='[deleted]' GROUP BY subreddit) AS t6 
          WHERE authors >= %s) AS t4
        ON t3.subreddit=t4.subreddit
        GROUP BY subreddit, author) AS b
      ON a.author=b.author
    WHERE a.subreddit!=b.subreddit GROUP BY 1,3) AS final
  WHERE final.percentage > %s;"

2 个答案:

答案 0 :(得分:0)

table_name.subreddit而不是subreddit

答案 1 :(得分:0)

您应该使用长选择查询的表名称使用别名