It appears that another query form also triggers this bug. ```SQL CREATE TABLE v0 ( v1, v2 PRIMARY KEY); CREATE INDEX v3 ON v0 ( v2, v2 ); INSERT INTO v0 ( v1, v2 ) VALUES ( 10, 'x' ); SELECT COUNT ( * ) FROM v0 AS a13, v0 AS a14, v0 AS a15, v0 AS a16, v0 AS a17 WHERE a13.v1 = a13.v2 AND a13.v1 = 'x'; /* 1 */ SELECT COUNT ( * ) FROM v0 WHERE v0.v1 = v0.v2 AND v0.v1 = 'x'; /* 0 */ ``` Since v0.v1 is not equals to v0.v2, both SELECT statements are expected to output 0 or empty results. Fix <https://sqlite.org/src/info/2363a14ca723c034> also fix the inconsistent outputs from this query.