【发布时间】:2020-05-15 08:46:34
【问题描述】:
我在 Google Big Query 中有两个表,我想加入它们以便过滤(使用一个过滤器)仪表板中的数据。
表一包含日期、国家和收入。表二包含日期、国家和成本。 我希望能够过滤日期和国家并显示收入和成本。但是,有些日子/国家/地区没有收入但有成本,有些日子/国家没有成本但有收入。
我首先使用左连接连接表格,这导致表格不完整,缺少某些国家/地区没有收入的日期的成本。现在我尝试通过使用这样的完整连接来解决这个问题:
FULL JOIN (SELECT
date,
shipping_country AS shipping_country_spend,
sum(spend) AS Spend
FROM spend_total Group by 1,2) oo
ON oo.date = o.Date
WHERE shipping_country_spend IS NULL OR shipping_country_spend = shipping_country
但是,对于没有收入的日期/国家/地区组合,我仍然没有计算成本。
其次,对于成本,我有一个名为“其他”的剩余列 - 这显然不是一个国家/地区。我希望它作为单独的一行出现,国家为“其他”,收入 = 0。
重要的是,我可以使用“日期”和“国家”作为过滤器。期望的结果是这样的:
Date : Country : Revenue : Cost
15-05-2020 : Spain : 3000 : 200
15-05-2020 : Belgium : 0 : 300
15-05-2020 : Other : 0 : 500
15-05-2020 : Netherlands : 2000 : 0
非常感谢!
【问题讨论】:
-
你能分享完整的查询吗?
标签: sql google-bigquery