citus/test_focus_pg18.sql

38 lines
1.2 KiB
SQL

-- Focus on the ?column? issue specifically
\c citus
-- Tables should already exist, just in case
CREATE TABLE IF NOT EXISTS users_table (user_id int, value_1 int, value_2 int);
CREATE TABLE IF NOT EXISTS events_table (user_id int, event_type int, value_2 int);
-- Populate with minimal data
INSERT INTO users_table (user_id, value_1, value_2) VALUES (1, 10, 100), (2, 20, 200) ON CONFLICT DO NOTHING;
INSERT INTO events_table (user_id, event_type, value_2) VALUES (1, 1, 1), (2, 2, 2) ON CONFLICT DO NOTHING;
-- Test the simplified ?column? issue
SELECT DISTINCT user_id
FROM (
SELECT users_table.user_id
FROM users_table,
(
SELECT avg(event_type) as avg_val
FROM (
SELECT event_type, a_users.user_id
FROM users_table as a_users,
(
SELECT user_id, event_type
FROM events_table
WHERE value_2 < 3
ORDER BY 1, 2
LIMIT 1
) as foo
WHERE foo.user_id = a_users.user_id
) bar, users_table as b_users
WHERE bar.user_id = b_users.user_id
GROUP BY b_users.value_1
) as baz
WHERE baz.avg_val < users_table.user_id
ORDER BY 1
LIMIT 1
) as sub1;