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

含WITH子句与空间函数的SQL查询语句翻译及技术问询

带WITH子句与PostGIS空间函数的SQL查询翻译及解析

我来帮你拆解并翻译这条SQL语句,同时保留所有技术术语和代码格式:

原SQL代码(补全截断部分的合理推测)

WITH values(location, userid) as ( VALUES (st_geomfromewkt('0101000000000000C04141464000000000FE174440'),5)) 
SELECT st_distance(p.location,(SELECT location FROM values where v.userid = "blacklisterId")::geometry) 
FROM values as v,live.partners as p 
Inner JOIN backend.cars c ON (c."userId" = p."partnerId" AND c.active = true) 
Inner JOIN backend."carCompatibleTariffs" cCT ON c."carId" = cCT."carId" and 1 = cCT."tariffId" AND cCT.active = true 
LEFT JOIN backend."userBlacklist" bl on 5 = bl."blacklistedUserId"

逐部分中文翻译与功能说明

  • WITH公共表表达式(CTE)
    这段代码定义了一个临时数据集values,包含location(空间位置字段)和userid(用户ID字段):

    WITH values(location, userid) as ( VALUES (st_geomfromewkt('0101000000000000C04141464000000000FE174440'),5))
    

    其中ST_GeomFromEWKT()是PostGIS提供的空间函数,作用是将**EWKT(扩展熟知文本)**格式的空间字符串转换为数据库可识别的几何对象,这里对应的是用户ID为5的空间位置。

  • SELECT核心查询
    这部分是查询的核心,调用ST_Distance()空间函数计算两个几何对象之间的空间距离:

    SELECT st_distance(p.location,(SELECT location FROM values where v.userid = "blacklisterId")::geometry)
    

    具体来说,就是计算live.partners表中合作商家的位置p.location,与临时表values中匹配blacklisterId的用户位置之间的空间距离。::geometry是PostgreSQL的类型转换语法,确保字段以几何类型参与计算。

  • FROM与JOIN关联逻辑
    这部分负责关联多个业务表,筛选符合条件的数据:

    FROM values as v,live.partners as p 
    Inner JOIN backend.cars c ON (c."userId" = p."partnerId" AND c.active = true) 
    Inner JOIN backend."carCompatibleTariffs" cCT ON c."carId" = cCT."carId" and 1 = cCT."tariffId" AND cCT.active = true 
    LEFT JOIN backend."userBlacklist" bl on 5 = bl."blacklistedUserId"
    

    中文解释:

    • 从临时表values(别名v)和合作商家表live.partners(别名p)开始构建数据集;
    • 内连接车辆表backend.cars:只保留与合作商家ID匹配、且处于激活状态(active = true)的车辆记录;
    • 内连接车辆适配资费表backend.carCompatibleTariffs:只保留与车辆ID匹配、资费ID为1、且处于激活状态的资费记录;
    • 左连接用户黑名单表backend.userBlacklist:关联用户ID为5的黑名单记录(原语句此处截断,我根据业务逻辑推测关联字段为blacklistedUserId)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 11:02:42