Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
select中的新列不会在having子句中屏蔽同名列,sqlite不会发出警告_Sql_Sqlite - Fatal编程技术网

select中的新列不会在having子句中屏蔽同名列,sqlite不会发出警告

select中的新列不会在having子句中屏蔽同名列,sqlite不会发出警告,sql,sqlite,Sql,Sqlite,我在sqlite中得到了这个查询 select kvadrat, datum, count(distinct kontrola) as pocet from b group by kvadrat, datum having pocet > 1 问题是pocet实际上是表b中的一列,我没有注意到,having子句使用的是表列,而不是select子句中指定的新派生列 到目前为止还不错,但sqlite至少应该发出任何警告,对吗 编辑:我已将此作为一个bug报告 PS:我在R版本0.4-7.1中

我在sqlite中得到了这个查询

select kvadrat, datum, count(distinct kontrola) as pocet
from b
group by kvadrat, datum
having pocet > 1
问题是pocet实际上是表b中的一列,我没有注意到,having子句使用的是表列,而不是select子句中指定的新派生列

到目前为止还不错,但sqlite至少应该发出任何警告,对吗

编辑:我已将此作为一个bug报告


PS:我在R版本0.4-7.1中使用sqlite和sqldf包。包RSQLite 0.11.4。根据描述,SQLite引擎应该是3.7.17版。

您有问题吗?使用countdistinct kontrola>1来解决此问题。@NoDisplayName。您的评论是针对SQLite的。有些数据库确实允许在having子句中使用别名。我理解,但我不理解您希望它警告什么,是因为您将派生列重命名为可能在select子句中引用的列的名称吗?我知道,但重命名为。。。是在完成后完成的,所以变量pocet在当时甚至不存在。不,这是不正确的。求值顺序为FROM、JOIN、WHERE、GROUP、HAVING和SELECT rename。HAVING将接受谓词中的COUNT1等聚合,因为它是在分组后计算的,而WHERE不会。