Skip to content

Instantly share code, notes, and snippets.

@onderkalaci
Last active March 9, 2017 15:04
Show Gist options
  • Save onderkalaci/2b6e2d380cbf126c0921754e04d2d173 to your computer and use it in GitHub Desktop.
Save onderkalaci/2b6e2d380cbf126c0921754e04d2d173 to your computer and use it in GitHub Desktop.
Not working queries
-- join condition is TRUE
-- LATERAL example
INSERT INTO agg_events
(
user_id,
value_4_agg
)
SELECT outer_most.id,
Max(outer_most.value)
FROM (
SELECT f2.id AS id,
f2.v4 AS value
FROM (
SELECT id as f_id
FROM (
SELECT raw_events_first.user_id AS id
FROM raw_events_first
WHERE value_1 > 10
OR value_1 < 100 ) AS foo) AS f
LEFT JOIN lateral
(
select v4,
v1,
id
FROM (
SELECT sum(raw_events_second.value_4) AS v4,
sum(raw_events_second.value_1) AS v1,
raw_events_second.user_id AS id
FROM raw_events_second
WHERE f.f_id = raw_events_second.user_id
GROUP BY raw_events_second.user_id
HAVING sum(raw_events_second.value_4) > 10) AS foo2 ) AS f2
ON (true)
LEFT JOIN lateral
(
SELECT user_id FROM agg_events WHERE f2.id = user_id
) as f3 ON (true)
) AS outer_most
GROUP BY outer_most.id;
INSERT INTO agg_events(user_id, value_2_agg)
SELECT user_id,
value_2
FROM raw_events_first
WHERE value_1 > 100
AND value_1 < 124
AND value_2 >= 5
AND EXISTS (SELECT user_id
FROM raw_events_second
WHERE value_1 > 100
AND value_1 < 124
AND value_3 > 100
AND user_id = raw_events_first.user_id
GROUP BY user_id
HAVING Count(*) > 2);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment