BigQueryで横持ちデータを縦持ちに変換する

縦持ちを横持ちにするのであれば、SELECTでカラム名を増やせば良い。
その後maxやdistinctを取るなど、工夫が必要になるが。
 
一方で横持ちを縦持ちにする場合、結論から言ってしまうとSQLにおいてUNIONをしまくるのが、最も楽だと思う。
いま、商品ごとに色違いの画像URLが9種類あるとする。
main_tableにはitemid(商品)×colorname(色)およびそのURLが横に格納されており、それをitemid × colornameを一行ごとにユニークとして、各URLを縦持ちで取得することを考える。