CREATE TABLE t1(id INTEGER) AS VALUES (1), (2), (3);
CREATE TABLE t2(id INTEGER, outer_id INTEGER) AS VALUES (10, 1), (20, 1), (30, 2);
SELECT
(SELECT count(*) AS c FROM t2 WHERE t2.outer_id = t1.id) + 1 AS a,
(SELECT count(*) AS c FROM t2 WHERE t2.outer_id = t1.id) + 2 AS b
FROM t1
ORDER BY t1.id;
+---+---+
| a | b |
+---+---+
| 3 | 4 |
| 2 | 3 |
| 1 | 2 |
+---+---+
+------+---+
| a | b |
+------+---+
| 3 | 4 |
| 2 | 3 |
| NULL | 2 |
+------+---+
Presumably because we don't do the count-compensation trick for both subqueries.
Describe the bug
Expected:
Actual:
Presumably because we don't do the count-compensation trick for both subqueries.
To Reproduce
No response
Expected behavior
No response
Additional context
No response