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

如何将SELECT查询得到的MyUrl字段值用作FROM子句url函数的参数

该需求可以实现,你最初编写的查询语法无法直接运行,因为ClickHouse的url表函数默认无法直接引用同查询中其他表的字段作为入参,需要通过LATERAL JOIN语法实现逐行传入URL参数调用。

如果你使用的ClickHouse版本>=21.10,直接使用LATERAL JOIN即可实现需求,查询语句如下:

SELECT
    extractTextFromHTML(html) as text,
    html
FROM default.myTable
LATERAL JOIN url(MyUrl, RawBLOB, 'html String')

注意事项

  • 执行该查询前需要保证你的ClickHouse服务拥有公网访问权限,否则会出现URL请求超时的报错
  • 若需要跳过无法正常访问的URL(返回404、500等状态码),可以提前执行设置:
    SET url_skip_not_found = 1;
    
  • 若你使用的ClickHouse版本低于21.10,不支持LATERAL JOIN,可以通过数组拼接的方式实现,适合URL数量较少的场景,写法如下:
SELECT
    extractTextFromHTML(html) as text,
    html
FROM (
    SELECT groupArray(MyUrl) as url_list FROM default.myTable
)
ARRAY JOIN url_list as MyUrl
LATERAL JOIN url(MyUrl, RawBLOB, 'html String')

执行后即可得到你预期的查询结果,text字段为HTML提取后的纯文本内容,html字段为对应URL返回的原始HTML源码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 15:15:05