仅当父数据体存在时才从bigquery reddit数据中选择体?

2024-10-02 22:37:29 发布

您现在位置:Python中文网/ 问答频道 /正文

在大查询reddit数据中,有一个注释体、一个注释id和一个父注释id。我需要一个可以在大查询中运行的查询。(我这样说是因为标准的大查询语法遗漏了几个SQL语句,比如“while”),只有当父注释不为null时,这个语句才需要选择注释的主体。你知道吗

因此基本上查询需要读取第一行,找到注释的父id,检查数据库以查看注释id是否有一个非空的主体,如果是,则返回一个数据库,其中每行就是{列1是注释主体}{列2是父主体}

我试过像这样思考“SELECTparent\u id,body FROMtableWHERE(SELECT body FROMtableWHERE id=parent\u id)!=空“

如果我能找到一种方法,让父母的id是一样的,那么上面的陈述就行了。有什么帮助吗?你知道吗

编辑:

选择SPLIT(parent\u id,“\”[OFFSET(1)]作为q1,body FROM fh-bigquery.reddit_comments.2008WHERE(SELECT body FROM fh-bigquery.reddit_comments.2008WHERE id=q1)!=空

如果将parent\u id设置为变量类型q1,并稍后将其用作q1,则此查询将起作用。你知道吗

有什么帮助吗?你知道吗


Tags: 数据fromid数据库body语句wherebigquery
1条回答
网友
1楼 · 发布于 2024-10-02 22:37:29

你必须使用内部连接。。。你知道吗

SELECT
  t1.body
  t1.parent_id,
  t2.body AS parent_body
FROM
  `fh-bigquery.reddit_comments.2008` t1
INNER JOIN
  `fh-bigquery.reddit_comments.2008` t2
ON
  SPLIT(t1.parent_id, '_')[ OFFSET (1)] = t2.id
WHERE
  t2.body IS NOT NULL

相关问题 更多 >