mirror of https://github.com/citusdata/citus.git
38 lines
1.2 KiB
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;
|