You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在BigQuery中通过SQL多连接查询Stackoverflow公开数据集

如果你的实际表名是单数形式(question/answer/comment),对应修改SQL中FROM后的表名即可。

标签匹配逻辑优化说明

你现有SQL中用tags like "%tensorflow%"的匹配方式可能出现误命中,比如匹配到tensorflow2.x、keras-tensorflow这类包含tensorflow字符串的其他标签,建议调整为更精准的匹配规则:

CONCAT('|', tags, '|') LIKE '%|tensorflow|%'

以下三个查询均沿用该精准匹配规则,你可根据实际需求换回原有模糊匹配逻辑。


1. 问题-回答关联表(对应第一个预期输出)

SELECT 
  q.id AS question_id,
  q.title AS question_title,
  q.body AS question_body,
  a.id AS answer_id,
  a.title AS answer_title,
  a.body AS answer_body
FROM questions q
LEFT OUTER JOIN answers a
ON a.parent_id = q.id
WHERE CONCAT('|', q.tags, '|') LIKE '%|tensorflow|%'

如果需要全量字段可以把SELECT后的字段替换为*即可。


2. 问题-评论关联表(对应第二个预期输出)

这个表拉取所有带tensorflow标签的问题,以及直接挂在问题下的评论:

SELECT 
  q.id AS question_id,
  q.title AS question_title,
  q.body AS question_body,
  c.id AS comment_id,
  c.text AS comment_text
FROM questions q
LEFT OUTER JOIN comments c
ON c.post_id = q.id
WHERE CONCAT('|', q.tags, '|') LIKE '%|tensorflow|%'

3. 回答-评论关联表(对应第三个预期输出)

这个表拉取所有带tensorflow标签的问题对应的回答,以及挂在这些回答下的评论:

SELECT 
  a.id AS answer_id,
  a.title AS answer_title,
  a.body AS answer_body,
  c.id AS comment_id,
  c.text AS comment_text
FROM questions q
INNER JOIN answers a
ON a.parent_id = q.id
LEFT OUTER JOIN comments c
ON c.post_id = a.id
WHERE CONCAT('|', q.tags, '|') LIKE '%|tensorflow|%'

内容的提问来源于stack exchange,提问作者Jimmy Zhao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 07:36:05