I want to combine the two tables below in Big Query using a full outer join. Table A does not have certain products that I need to bring over from table B, but when I join on campaign & subcampaign, my join is not bringing over the 'CellPhone'
data. My results looks more like a left join. See below for my query
SELECT
a.campaign
, a.subcampaign
, a.product
, sum(sales)
, sum(cost)
FROM
(
SELECT
campaign
, subcampaign
, product
, sum(sales)
FROM
table_a
GROUP BY
1, 2, 3
) a
FULL OUTER JOIN
(
SELECT
campaign
, subcampaign
, product
, sum(cost)
FROM
table_b
GROUP BY 1,2,3
) b
ON
a.campaign = b.campaign
AND a.subcampaign = b.subcampaign
GROUP BY
1,2,3
Table a
Campaign | Subcampaign | Product | Sales |
---|---|---|---|
Campaign 1 | Store 581 | Gaming | $50 |
Campaign 1 | Store 583 | TV | $100 |
Table b
Campaign | Subcampaign | Product | Cost |
---|---|---|---|
Campaign 1 | Store 581 | Gaming | $25 |
Campaign 1 | Store 583 | TV | $75 |
Campaign 1 | Store 584 | Cellphone | $10 |
Desired result:
Campaign | Subcampaign | Product | Sales | Cost |
---|---|---|---|---|
Campaign 1 | Store 581 | Gaming | $50 | $25 |
Campaign 1 | Store 583 | TV | $100 | $75 |
Campaign 1 | Store 584 | Cellphone | NULL | $10 |