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

BigQuery优化查询咨询:合并products与product_properties表数据

优化方案:使用PIVOT简化查询

可以通过PIVOT操作将product_properties中的键值对数据转成结构化列,再和products表的初始记录合并,相比两次自连接的方式更简洁高效,减少表扫描次数。

具体SQL实现

WITH pivoted_properties AS (
  SELECT
    product_id,
    material,
    material_color
  FROM
    `your-project.your-dataset.product_properties`
  PIVOT (
    MAX(field_value) FOR field_name IN ('material' AS material, 'material_color' AS material_color)
  )
)
SELECT product_id, material, material_color FROM `your-project.your-dataset.products`
UNION ALL
SELECT product_id, material, material_color FROM pivoted_properties
ORDER BY product_id;

方案说明

  • PIVOT操作会自动以product_id和sequence作为分组键,将field_name对应的field_value转成对应列,自动匹配同sequence下的material和material_color。
  • 相比两次自连接,该方法仅需扫描product_properties表一次,避免了重复扫描和连接操作的性能开销,代码结构也更清晰,便于后续维护。

内容的提问来源于stack exchange,提问作者maxime.b28

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 05:03:10