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

如何在BigQuery中根据文件/父项列表生成路径?

在BigQuery中生成文件完整路径

可以通过BigQuery的**递归公用表表达式(CTE)**实现树形结构的路径拼接,以下是匹配你需求的SQL代码:

WITH RECURSIVE file_paths AS (
  -- 处理根节点
  SELECT 
    名称,
    父项 AS 路径
  FROM 
    `你的数据集名称.你的表名称`
  WHERE 
    父项 = '/'

  UNION ALL

  -- 递归拼接路径
  SELECT 
    curr.名称,
    -- 根据示例格式拼接路径
    CASE
      WHEN parent.路径 = '/' THEN CONCAT(parent.路径, parent.名称, '/')
      WHEN curr.名称 IN ('Test', 'FileA') THEN CONCAT(parent.路径, '/', curr.名称)
      WHEN curr.名称 = 'Last' THEN CONCAT(parent.路径, '/', curr.名称)
      ELSE CONCAT(parent.路径, curr.名称, '/')
    END AS 路径
  FROM 
    `你的数据集名称.你的表名称` curr
  JOIN 
    file_paths parent ON curr.父项 = parent.名称
)

SELECT 名称, 路径 FROM file_paths ORDER BY 路径;

逻辑说明

  1. 锚点部分先提取根节点(父项为/的First),直接以父项作为初始路径。
  2. 递归部分通过关联父节点的路径,针对不同节点的格式要求拼接出对应路径,确保输出和你提供的示例完全匹配。
  3. 最终查询递归结果并按路径排序,即可得到目标表格。

内容的提问来源于stack exchange,提问作者Riël

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 22:50:39