Google BigQuery / SQL:将一列与另一列分开,从单独的表

时间:2016-09-20 10:00:21

标签: sql google-bigquery google-cloud-platform

我正在尝试使用Google BigQuery确定每个州的人均医疗保险费用。

我已经有每个州的人口编号(代表总数)以及每个州的医疗保险总费用(费用)。我试图将总成本除以每个州的人口。

在查询运行时,每个条目都为null。我无疑是BigQuery和SQL的初学者。

这是我的代码:

SELECT State, Cost / Total AS PerCapita
FROM medicare.population, medicare.CostByState
GROUP BY State, PerCapita;

可能导致问题的一个原因是“状态”列存在于'population'和'CostByState'表中。不知道如何解决这个问题。

这是我的表格: population CostByState

2 个答案:

答案 0 :(得分:3)

您似乎每个州都有一行数据,因此您只需要JOIN

SELECT p.State, cbs.Cost / p.Total AS PerCapita
FROM medicare.population p JOIN
     medicare.CostByState cbs
     ON p.state = cbs.state;

如果表每个州有多行,则只需要聚合。

答案 1 :(得分:0)

确实你需要加入。

如果这种关系是一对一的,你就是好人。但如果不是,您可能需要某种类型的聚合

总和(成本)/总和(总计)为per_capita