I would like to combine two select queries with UNION.
How can I use the result from the first SELECT in the second SELECT?
(SELECT carto_id_key FROM table1
WHERE tag_id = 16)
UNION
(SELECT * FROM table2
WHERE carto_id_key = <the carto_id result from above> )
If you're using pgAdmin 4, you just type everything on the Query Tool pane, and then press the button with a [lightning bolt] (or press F5).
Use a CTE to reuse the result from a subquery in more than one SELECT.
WITH cte AS (SELECT carto_id_key FROM table1 WHERE tag_id = 16)
SELECT carto_id_key
FROM cte
UNION ALL
SELECT t2.some_other_id_key
FROM cte
JOIN table2 t2 ON t2.carto_id_key = ctex.carto_id_key
You most probably want UNION ALL instead of UNION. Doesn't exclude duplicates and is faster this way.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With