時間範囲にわたるアクティビティを提供するselectステートメントがあります。例えば
Hour | Action | Count
---------------------
00 | a1 | 23
00 | a2 | 48
01 | a1 | 16
02 | null | null
03 | a1 | 5
04 | a2 | 2
この結果を生成するグループ化のおかげで、時間01、アクション02などのカウントがないことがわかります。私が欲しいのは次のとおりです。
Hour | Action | Count
---------------------
00 | a1 | 23
00 | a2 | 48
01 | a1 | 16
01 | a2 | 0
02 | a1 | 0
02 | a2 | 0
03 | a1 | 5
03 | a2 | 0
04 | a1 | 0
04 | a2 | 2
そのために、行Actionの個別の値を決定することを考えていたので、これを同じテーブルに左結合しました。これは、SQLコードでは次のようになります。
select distinct(t2.action) as action
from t2 as t1
left join (select hour, action, count from <whatever to get the table>) as t2
on t1.action = t2.action
しかし、そうすると、当然のことながら、テーブルt2がt1のselectステートメント内で無効であるというエラーが発生します。
これを行うためのアドバイスを教えてください。しかし、私は元のテーブルで区別したくありません(5000万のエントリがあります)。
前もって感謝します!