【发布时间】:2014-10-12 20:55:49
【问题描述】:
我在 SQLite 中有一个 VIEW,示意性地如下所示:
SELECT ownerid, field, origin, count FROM (
SELECT
null AS ownerid,
table1.somefield AS field,
0 AS origin,
count(table2.ownerid) AS count
FROM table1 LEFT JOIN table2
UNION ALL
SELECT
table2.ownerid AS ownerid,
table2.someotherfield AS field,
1 AS origin,
1 AS count
)
我用SELECT FROM viewname WHERE ownerid=? OR origin=0 类型的查询来调用它——换句话说,我想要的是第一个表中的条目,加上所有者ID 正确的第二个表中的条目。
第一个表的计数列应该是第二个表中与约束匹配的所有行的计数 - 换句话说,其 ownerid 是为其选择的行。我目前得到的是整个表的计数。
如何约束 count(...) 函数调用中的表达式以匹配传递给 VIEW 的查询约束?
【问题讨论】: