我正在使用一些数学函数进行简单查询(实际查询更复杂,但即使这个简单的例子也证明了错误):
SELECT 123 as distance,
c
FROM MyDomainClass as c
这将返回[距离,域类]对。这很好。但是,我也希望按距离进行过滤和排序。
SELECT 123 as distance,
c
FROM MyDomainClass as c
WHERE distance < 10
不幸的是,它无法在结果集中找到“距离”列:
Unknown column 'distance' in 'where clause'
我打开了SQL日志记录,看到以下生成的查询:
select 123 as col_0_0_, ............. where distance<?
所以我可以看到错误,但我不明白为什么它在结果集中使用生成的列名'col_0_0_',或者我如何在where子句中使用这个生成的名称。
有什么想法吗?