我正在尝试将评论加入到多个表的帖子中。我需要一个AS子句,因为posts表和comments表共享一列“分数”。
我的目标是能够在所有这些表格中的数据中找到顶部帖子中的顶部注释。
#standardSQL
SELECT posts.title, posts.url, posts.score AS postsscore,
DATE_TRUNC(DATE(TIMESTAMP_SECONDS(posts.created_utc)), MONTH),
comments.body, comments.score AS commentsscore, comments.id
FROM
fh-bigquery.reddit_posts.2015_12
,
fh-bigquery.reddit_posts.2016_01
,
fh-bigquery.reddit_posts.2016_02
,
fh-bigquery.reddit_posts.2016_03
,
fh-bigquery.reddit_posts.2016_04
,
fh-bigquery.reddit_posts.2016_05
,
fh-bigquery.reddit_posts.2016_06
,
fh-bigquery.reddit_posts.2016_07
,
fh-bigquery.reddit_posts.2016_08
,
fh-bigquery.reddit_posts.2016_09
,
fh-bigquery.reddit_posts.2016_10
,
fh-bigquery.reddit_posts.2016_11
,
fh-bigquery.reddit_posts.2016_12
,
fh-bigquery.reddit_posts.2017_01
,
fh-bigquery.reddit_posts.2017_02
,
fh-bigquery.reddit_posts.2017_03
,
fh-bigquery.reddit_posts.2017_04
,
fh-bigquery.reddit_posts.2017_05
,
fh-bigquery.reddit_posts.2017_06
,
fh-bigquery.reddit_posts.2017_07
,
fh-bigquery.reddit_posts.2017_08
,
fh-bigquery.reddit_posts.2017_09
,
fh-bigquery.reddit_posts.2017_10
,
fh-bigquery.reddit_posts.2017_11
,
fh-bigquery.reddit_posts.2017_12
,
fh-bigquery.reddit_posts.2018_01
,
fh-bigquery.reddit_posts.2018_02
,
fh-bigquery.reddit_posts.2018_03
,
fh-bigquery.reddit_posts.2018_04
,
fh-bigquery.reddit_posts.2018_05
,
fh-bigquery.reddit_posts.2018_06
,
fh-bigquery.reddit_posts.2018_07
,
fh-bigquery.reddit_posts.2018_08
,
fh-bigquery.reddit_posts.2018_09
,
fh-bigquery.reddit_posts.2018_10
AS posts
JOIN
fh-bigquery.reddit_comments.2015_12
,
fh-bigquery.reddit_comments.2016_01
,
fh-bigquery.reddit_comments.2016_02
,
fh-bigquery.reddit_comments.2016_03
,
fh-bigquery.reddit_comments.2016_04
,
fh-bigquery.reddit_comments.2016_05
,
fh-bigquery.reddit_comments.2016_06
,
fh-bigquery.reddit_comments.2016_07
,
fh-bigquery.reddit_comments.2016_08
,
fh-bigquery.reddit_comments.2016_09
,
fh-bigquery.reddit_comments.2016_10
,
fh-bigquery.reddit_comments.2016_11
,
fh-bigquery.reddit_comments.2016_12
,
fh-bigquery.reddit_comments.2017_01
,
fh-bigquery.reddit_comments.2017_02
,
fh-bigquery.reddit_comments.2017_03
,
fh-bigquery.reddit_comments.2017_04
,
fh-bigquery.reddit_comments.2017_05
,
fh-bigquery.reddit_comments.2017_06
,
fh-bigquery.reddit_comments.2017_07
,
fh-bigquery.reddit_comments.2017_08
,
fh-bigquery.reddit_comments.2017_09
,
fh-bigquery.reddit_comments.2017_10
,
fh-bigquery.reddit_comments.2017_11
,
fh-bigquery.reddit_comments.2017_12
,
fh-bigquery.reddit_comments.2018_01
,
fh-bigquery.reddit_comments.2018_02
,
fh-bigquery.reddit_comments.2018_03
,
fh-bigquery.reddit_comments.2018_04
,
fh-bigquery.reddit_comments.2018_05
,
fh-bigquery.reddit_comments.2018_06
,
fh-bigquery.reddit_comments.2018_07
,
fh-bigquery.reddit_comments.2018_08
,
fh-bigquery.reddit_comments.2018_09
,
fh-bigquery.reddit_comments.2018_10
AS comments
ON posts.id = SUBSTR(comments.link_id, 4)
WHERE posts.subreddit = 'Showerthoughts' AND posts.score >100 AND comments.score >100
ORDER BY posts.score DESC
我的目标是能够在所有这些表格中的数据中找到顶部帖子中的顶部注释。
答案 0 :(得分:0)
好,因此此查询出现问题:
JOIN
,而不是UNION
。因此,您需要UNION
表。*
,以扩展到所有匹配的表。话虽如此,一个有效的查询将是:
#standardSQL
SELECT posts.title, posts.url, posts.score AS postsscore,
DATE_TRUNC(DATE(TIMESTAMP_SECONDS(posts.created_utc)), MONTH),
SUBSTR(comments.body, 0, 80), comments.score AS commentsscore, comments.id
FROM `fh-bigquery.reddit_posts.2015*` AS posts
JOIN `fh-bigquery.reddit_comments.2015*` AS comments
ON posts.id = SUBSTR(comments.link_id, 4)
WHERE posts.subreddit = 'Showerthoughts'
AND posts.score >100
AND comments.score >100
ORDER BY posts.score DESC