作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 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_location
到
VARCHAR
因为它在地理数据类型中是需要的。
最佳答案
如果您想继续使用 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/
我是一名优秀的程序员,十分优秀!