我正在开发一个asp.net数据,我将在一列中插入数据。我在postgresql中使用这个代码它说,但它给了我这个错误。你能救我吗?
错误:用作表达式SQL状态的子查询返回的多行:21000
SELECT ST_Line_Interpolate_Point (route.geom,(select (pk_accident)/(pk_fin-pk_debut) from route, accident_ma
where route.num_route = accident_ma.num_route order by route.num_route))
from route,accident_ma where route.num_route = accident_ma.num_route order by route.num_route;
答案 0 :(得分:1)
ST_Line_Interpolate_Point 是标量函数,它被设计为两个值的输入集。
选择中查询 “SELECT(pk_accident)/(pk_fin-pk_debut) 来自route,accident_ma WHERE route.num_route = accident_ma.num_route ORDER BY route.num_route“
假设每个选定记录返回一个值(此值将由ST_Line_Interpolate_Point函数使用),但是in-select-query返回多个记录。
在Oracle中,您可以通过添加其他过滤器来修改查询
“和rownum = 1” 过滤器,对于没有oracle案例,您可以添加 限制1 过滤器< / p>
选择(pk_accident)/(pk_fin-pk_debut) 来自route,accident_ma WHERE route.num_route = accident_ma.num_route 限制1
这应解决问题