By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
WITH accounts (id, user_name) AS (
SELECT 1, 'jim'
), items (id, item_name) AS (
SELECT 1, 'item1' UNION ALL
SELECT 2, 'item2' UNION ALL
SELECT 3, 'item3' UNION ALL
SELECT 4, 'item4' UNION ALL
SELECT 5, 'item5'
), orders (id, user_id, item_id, stat, shipped) AS (
SELECT 1, 1, 1, 1, 0 UNION ALL
SELECT 1, 1, 2, 1, 1 UNION ALL
SELECT 1, 1, 4, 1, 1 UNION ALL
SELECT 1, 1, 5, 1, 0
)
SELECT
i.id AS item_id,
i.item_name,
IFNULL(o.stat, 'n/a') AS stat,
IFNULL(o.shipped, 'n/a') AS shipped,
a.user_name
FROM accounts a
CROSS JOIN items i
LEFT JOIN orders o
ON a.id = o.user_id
AND i.id = o.item_id
WHERE a.id = 1;
item_id | item_name | stat | shipped | user_name |
---|---|---|---|---|
1 | item1 | 1 | 0 | jim |
2 | item2 | 1 | 1 | jim |
3 | item3 | n/a | n/a | jim |
4 | item4 | 1 | 1 | jim |
5 | item5 | 1 | 0 | jim |