gpt4 book ai didi

GROUP BY 子句中的 SQL Geography 数据类型列

转载 作者:行者123 更新时间:2023-12-04 12:13:53 25 4
gpt4 key购买 nike

我正在使用 SQL Server 并创建一个脚本,该脚本将从我的数据库中获取工作人员的地理位置。脚本如下。

SELECT w.display_name, w.geo_location
FROM jobs j WITH(NOLOCK)
INNER JOIN workers w WITH(NOLOCK) ON w.worker_id = j.worker_id
WHERE .....

问题是我想加 GROUP BY w.display_name, w.geo_location到脚本,因为有重复的记录被显示。将数据类型为 geography 的列添加到 group by 子句会导致抛出错误。

添加此内容时引发的错误是:

The type "geography" is not comparable. It cannot be used in the GROUP BY clause.



有没有解决的办法?我无法转换 w.geo_locationVARCHAR因为它在地理数据类型中是需要的。

最佳答案

如果您想继续使用 group by 语法,您可以将地理列转换为文本并再次返回:

SELECT w.display_name, geography::STGeomFromText(w.geo_location.STAsText(), 4326) as Location
FROM jobs j WITH(NOLOCK)
INNER JOIN workers w WITH(NOLOCK) ON w.worker_id = j.worker_id
WHERE .....
GROUP BY w.display_name, w.geo_location.STAsText()

关于GROUP BY 子句中的 SQL Geography 数据类型列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10121403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com