2016-09-20 7 views
-1

Google BigQueryを使用して各州の医療費を決定しようとしています。Google BigQuery/SQL:別の表から別の列に分割する

私はすでに各州の人口数値(合計で表されています)と各州の医療コスト(コスト)の合計を持っています。私は総コストを各州の人口で除算しようとしています。

クエリは実行されますが、すべてのエントリはnullです。私は確かにBigQueryとSQLの両方の初心者です。ここで

は私のコードです:問題を引き起こしている可能性

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

ことの一つは、「状態」欄が「人口」と「CostByState」テーブルの両方に存在することです。これに対処する方法がわかりません。ここで

は私のテーブルは以下のとおりです。 population CostByState

答えて

3

あなたは状態ごとに1つの行でデータを持っているように見えるので、あなただけのJOINを必要としています。

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

表に状態ごとに複数の行がある場合にのみ、集計が必要です。

0

本当にあなたはそれに参加する必要があります。

もし関係が1対1であれば、あなたはいいですね。しかし、そうでない場合、いくつかのタイプの集約が必要な場合があります。

合計(コスト)/合計(合計)をper_capitaとして

関連する問題