是否可以重写以下视图,以便用户可以使用WHERE子句参数化视图(WHERE重叠> @param,后面是注释掉的)?有可能吗? where子句应该在group by子句之前生效。
我尝试从表'vl'中选择并将行(外连接)与一个语句中的行匹配,该语句在另一个表('vlda')中计数。
THX
CREATE VIEW dr AS SELECT vl.unique_object_id AS unique_object_id, ifnull(vlda.detectioncount, 0) AS detectioncount, vl.count AS labelcount, (1.0*ifnull(vlda.detectioncount, 0) / vl.count) AS detectionrate, vlda.evalround_id FROM viewlabelcount vl LEFT OUTER JOIN ( SELECT count() as detectioncount, unique_object_id, evalround_id FROM viewlabeldetections_best -- WHERE overlap > 0.5 -- is it possible to parametrize? GROUP BY unique_object_id ) AS vlda ON vl.unique_object_id = vlda.unique_object_id
答案 0 :(得分:2)
SQLite不允许存储在架构中的对象中的参数(例如视图或触发器)。
如果您使用的是SQLite 3.8.3或更高版本,则可以将该定义作为common table expression移至查询中。