By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
Help with an interesting Postgres question: Why isn't an Index Only Scan used on a partition accessed via the parent table?.
CREATE TABLE sales (
id SERIAL PRIMARY KEY,
last_order DATE,
customer VARCHAR(255)
);
INSERT INTO sales
(last_order, customer)
VALUES
('2020-04-10', 'user_01'),
('2020-06-15', 'user_02'),
('2020-08-26', 'user_03');
CREATE TABLE customers (
id SERIAL PRIMARY KEY,
first_order DATE,
customer VARCHAR(255)
);
INSERT INTO customers
(first_order, customer)
VALUES
('2020-03-10', 'user_01'),
('2020-05-15', 'user_02'),
('2020-01-17', 'user_03');
CREATE TABLE
INSERT 0 3
CREATE TABLE
INSERT 0 3
SELECT
s.last_order AS last_order,
NULL AS first_order
FROM sales s
UNION ALL
SELECT
NULL AS last_order,
c.first_order AS first_order
FROM customers c
last_order | first_order |
---|---|
2020-04-10 | null |
2020-06-15 | null |
2020-08-26 | null |
null | 2020-03-10 |
null | 2020-05-15 |
null | 2020-01-17 |
SELECT 6