回答編集履歴

4 修正

sazi

sazi score 13162

2018/03/17 17:01  投稿

出したい結果はクロス集計表ですね。
それを行う際の一時テーブル作成のSQLにwithを結びつける意図が分かりません。
クロス集計表ならこちら([[SQL]クロス集計と、テンポラリテーブルを使用したクエリの分割](https://dev.classmethod.jp/etc/sql-cross-tab-query-temporary-table/))などが参考になるかと思います。
※リンク先はBiqQueryのものではありません。
また、[array_agg()](https://cloud.google.com/bigquery/docs/reference/standard-sql/functions-and-operators?hl=ja#array_agg)を使用して横軸を配列で纏めるのもありかなと思います。
取得結果の配列の操作はこちら([配列の操作](https://cloud.google.com/bigquery/sql-reference/arrays?hl=ja))
尚、当方BigQueryは使用したことはありません。
こんな記事([BigQueryで150万円溶かした人の顔](https://qiita.com/itkr/items/745d54c781badc148bb9))見つけたので、SQLの提示がおいそれとはできません。
追記
---
「**create table hoge as select ~**」という構文において「**with**」を使用したいということであれば
```SQL
create table hoge as (
with
 content_table as (select ~)
, rating_table as (select ~)
select ~
from content_table , rating_table
)
```
上記のような記述になるかと思います。(試せてませんが)
要はwithはselect句の前に記述するということ。
尚、withで定義されるものを一時テーブルと呼ぶと誤解を生みます。
withが一時テーブルを生成しているようなものだとしてもそれは内部的な話です。
こんな記事([BigQueryで150万円溶かした人の顔](https://qiita.com/itkr/items/745d54c781badc148bb9))見つけたので、SQLの提示がおいそれとはできません。
3 追記

sazi

sazi score 13162

2018/03/17 16:54  投稿

出したい結果はクロス集計表ですね。
それを行う際の一時テーブル作成のSQLにwithを結びつける意図が分かりません。
クロス集計表ならこちら([[SQL]クロス集計と、テンポラリテーブルを使用したクエリの分割](https://dev.classmethod.jp/etc/sql-cross-tab-query-temporary-table/))などが参考になるかと思います。
※リンク先はBiqQueryのものではありません。
また、[array_agg()](https://cloud.google.com/bigquery/docs/reference/standard-sql/functions-and-operators?hl=ja#array_agg)を使用して横軸を配列で纏めるのもありかなと思います。
取得結果の配列の操作はこちら([配列の操作](https://cloud.google.com/bigquery/sql-reference/arrays?hl=ja))
尚、当方BigQueryは使用したことはありません。
こんな記事([BigQueryで150万円溶かした人の顔](https://qiita.com/itkr/items/745d54c781badc148bb9))見つけたので、SQLの提示がおいそれとはできません。
こんな記事([BigQueryで150万円溶かした人の顔](https://qiita.com/itkr/items/745d54c781badc148bb9))見つけたので、SQLの提示がおいそれとはできません。
追記
---
「**create table hoge as select ~**」という構文において「**with**」を使用したいということであれば
```SQL
create table hoge as (
with
 content_table as (select ~)
, rating_table as (select ~)
select ~
from content_table , rating_table
)
```
上記のような記述になるかと思います。(試せてませんが)
要はwithはselect句の前に記述するということ。
尚、withで定義されるものを一時テーブルと呼ぶと誤解を生みます。
withが一時テーブルを生成しているようなものだとしてもそれは内部的な話です。
2 推敲

sazi

sazi score 13162

2018/03/15 16:25  投稿

出したい結果はクロス集計表ですけど、それを行うのにwithと結びつける意図が分かりません。
出したい結果はクロス集計表ですね。
それを行う際の一時テーブル作成のSQLにwithを結びつける意図が分かりません。
クロス集計表ならこちら([[SQL]クロス集計と、テンポラリテーブルを使用したクエリの分割](https://dev.classmethod.jp/etc/sql-cross-tab-query-temporary-table/))などが参考になるかと思います。
※リンク先はBiqQueryのものではありません。
また、[array_agg()](https://cloud.google.com/bigquery/docs/reference/standard-sql/functions-and-operators?hl=ja#array_agg)を使用して横軸を配列で纏めるのもありかなと思います。
取得結果の配列の操作はこちら([配列の操作](https://cloud.google.com/bigquery/sql-reference/arrays?hl=ja))
尚、当方BigQueryは使用したことはありません。
こんな記事([BigQueryで150万円溶かした人の顔](https://qiita.com/itkr/items/745d54c781badc148bb9))見つけたので、SQLの提示がおいそれとはできません。
1 推敲

sazi

sazi score 13162

2018/03/15 16:24  投稿

出したい結果はクロス集計表ですけど、それを行うのにwithと結びつける意図が分かりません。
クロス集計表ならこちら([[SQL]クロス集計と、テンポラリテーブルを使用したクエリの分割](https://dev.classmethod.jp/etc/sql-cross-tab-query-temporary-table/))などが参考になるかと思います。
※リンク先はBiqQueryのものではありません。  
また、[array_agg()](https://cloud.google.com/bigquery/docs/reference/standard-sql/functions-and-operators?hl=ja#array_agg)を使用して横軸を配列で纏めるのもありかなと思います。
取得結果の配列の操作はこちら([配列の操作](https://cloud.google.com/bigquery/sql-reference/arrays?hl=ja))
尚、当方BigQueryは使用したことはありません。
こんな記事([BigQueryで150万円溶かした人の顔](https://qiita.com/itkr/items/745d54c781badc148bb9))見つけたので、SQLの提示がおいそれとはできません。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る