我正在尝试在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;"
答案 0 :(得分:0)
写table_name.subreddit
而不是subreddit
。
答案 1 :(得分:0)
您应该使用长选择查询的表名称使用别名