@@ -27,59 +27,59 @@ INSERT INTO t_cte_1 VALUES (1, 10, 100), (2, 20, 200), (4, 40, 400);
2727
2828-- Test case 1: Basic CTE with IN subquery
2929WITH a1 AS (SELECT v1 FROM t_cte_0)
30- SELECT v1 FROM t_cte_0 WHERE v1 IN (SELECT v1 FROM a1) ORDER BY ALL ;
30+ SELECT v1 FROM t_cte_0 WHERE v1 IN (SELECT v1 FROM a1) ORDER BY 1 ;
3131
3232-- Test case 2: CTE with IN subquery referencing CTE column
3333WITH a1 AS (SELECT v1 AS cust_no FROM t_cte_0)
34- SELECT v1 FROM t_cte_0 WHERE v1 IN (SELECT cust_no FROM a1) ORDER BY ALL ;
34+ SELECT v1 FROM t_cte_0 WHERE v1 IN (SELECT cust_no FROM a1) ORDER BY 1 ;
3535
3636-- Test case 3: CTE used in both main query and subquery
3737WITH a1 AS (SELECT v1, v2 FROM t_cte_0)
38- SELECT * FROM t_cte_0 WHERE v1 IN (SELECT v1 FROM a1) ORDER BY ALL ;
38+ SELECT * FROM t_cte_0 WHERE v1 IN (SELECT v1 FROM a1) ORDER BY 1 ;
3939
4040-- Test case 4: Multiple CTEs with IN subquery
4141WITH a1 AS (SELECT v1 FROM t_cte_0),
4242 a2 AS (SELECT v2 FROM t_cte_0)
4343SELECT v1 FROM t_cte_0
44- WHERE v1 IN (SELECT v1 FROM a1) AND v2 IN (SELECT v2 FROM a2) ORDER BY ALL ;
44+ WHERE v1 IN (SELECT v1 FROM a1) AND v2 IN (SELECT v2 FROM a2) ORDER BY 1 ;
4545
4646-- Test case 5: CTE used in ON clause subquery - the original issue case
4747WITH a1 AS (SELECT v1 FROM t_cte_0)
4848SELECT t_cte_0.v1 FROM t_cte_0
4949JOIN t_cte_1 ON t_cte_0.v1 = t_cte_1.v4
50- AND t_cte_0.v1 IN (SELECT v1 FROM a1) ORDER BY ALL ;
50+ AND t_cte_0.v1 IN (SELECT v1 FROM a1) ORDER BY 1 ;
5151
5252-- Test case 6: CTE with JOIN and IN subquery in ON clause
5353WITH a1 AS (SELECT t_cte_0.v1 AS cust_no FROM t_cte_0 JOIN t_cte_1 ON t_cte_0.v1 = t_cte_1.v4)
5454SELECT t_cte_0.v1 FROM t_cte_0
5555JOIN t_cte_1 ON t_cte_0.v1 = t_cte_1.v4
56- AND t_cte_0.v1 IN (SELECT cust_no FROM a1) ORDER BY ALL ;
56+ AND t_cte_0.v1 IN (SELECT cust_no FROM a1) ORDER BY 1 ;
5757
5858-- Test case 7: CTE with EXISTS subquery
5959WITH a1 AS (SELECT v1 FROM t_cte_0)
6060SELECT v1 FROM t_cte_0
61- WHERE EXISTS (SELECT 1 FROM a1 WHERE a1.v1 = t_cte_0.v1) ORDER BY ALL ;
61+ WHERE EXISTS (SELECT 1 FROM a1 WHERE a1.v1 = t_cte_0.v1) ORDER BY 1 ;
6262
6363-- Test case 8: CTE with correlated EXISTS in ON clause
6464WITH a1 AS (SELECT v1, v2 FROM t_cte_0)
6565SELECT t_cte_0.v1 FROM t_cte_0
6666JOIN t_cte_1 ON t_cte_0.v1 = t_cte_1.v4
67- AND EXISTS (SELECT 1 FROM a1 WHERE a1.v1 = t_cte_0.v1) ORDER BY ALL ;
67+ AND EXISTS (SELECT 1 FROM a1 WHERE a1.v1 = t_cte_0.v1) ORDER BY 1 ;
6868
6969-- Test case 9: CTE with scalar subquery
7070WITH a1 AS (SELECT MAX(v1) AS max_v1 FROM t_cte_0)
71- SELECT v1 FROM t_cte_0 WHERE v1 = (SELECT max_v1 FROM a1) ORDER BY ALL ;
71+ SELECT v1 FROM t_cte_0 WHERE v1 = (SELECT max_v1 FROM a1) ORDER BY 1 ;
7272
7373-- Test case 10: Nested subquery with CTE
7474WITH a1 AS (SELECT v1 FROM t_cte_0)
7575SELECT v1 FROM t_cte_0
76- WHERE v1 IN (SELECT v1 FROM (SELECT v1 FROM a1) t) ORDER BY ALL ;
76+ WHERE v1 IN (SELECT v1 FROM (SELECT v1 FROM a1) t) ORDER BY 1 ;
7777
7878-- Test case 11: CTE with nested IN subqueries
7979WITH a1 AS (SELECT v1 FROM t_cte_0),
8080 a2 AS (SELECT v1 FROM t_cte_0 WHERE v1 > 1)
8181SELECT v1 FROM t_cte_0
82- WHERE v1 IN (SELECT v1 FROM a1 WHERE v1 IN (SELECT v1 FROM a2)) ORDER BY ALL ;
82+ WHERE v1 IN (SELECT v1 FROM a1 WHERE v1 IN (SELECT v1 FROM a2)) ORDER BY 1 ;
8383
8484-- Clean up
8585DROP TABLE IF EXISTS t_cte_0;
0 commit comments