是否可以重写以下视图,以便用户可以使用WHERE子句(WHERE重叠> @param,下面已注释掉)对视图进行参数化?有可能吗? where子句应在group by子句之前生效。

我尝试从表'vl'中进行选择,并将行(外部联接)与语句中的行进行匹配,该语句在另一个表('vlda')中进行计数。

谢谢

创建视图博士
选择
vl.unique_object_id AS unique_object_id,
ifnull(vlda.detectioncount,0)AS检测计数,
vl.count AS标签计数,
(1.0 * ifnull(vlda.detectioncount,0)/ vl.count)AS检测率
vlda.evalround_id
FROM viewlabelcount vl
左外连接

选择
count()作为检测计数,
unique_object_id,
evalround_id
FROM viewlabeldetections_best
-重叠> 0.5的地方-是否可以参数化?
GROUP BY unique_object_id
)AS vlda

vl.unique_object_id = vlda.unique_object_id

最佳答案

SQLite不允许在架构中存储的对象(例如视图或触发器)中使用参数。

如果您使用的是SQLite 3.8.3或更高版本,则可以将该定义作为common table expression移至查询中。

关于sql - 如何在SqLite View 语句中放置where条件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23089335/

10-12 12:48