google big queryでクロス結合
google big queryは標準ではクロス結合できません。これだと、色々困るので以下のようにしてクロス結合を実現します。
SELECT user_id,type FROM ( SELECT 1 as k,user_id FROM (SELECT 1 as user_id), (SELECT 2 as user_id), (SELECT 3 as user_id), (SELECT 4 as user_id), (SELECT 5 as user_id), ) a JOIN ( SELECT 1 as k,type FROM (SELECT 'A' type), (SELECT 'B' type), (SELECT 'AB' type), (SELECT 'O' type), ) b ON a.k=b.k
ジョインに結合キー指定が必要なら、作ってしまえばいいと言うことです。
Row user_id type 1 1 A 2 1 B 3 1 AB 4 1 O 5 2 A 6 2 B 7 2 AB 8 2 O 9 3 A 10 3 B 11 3 AB 12 3 O 13 4 A 14 4 B 15 4 AB 16 4 O 17 5 A 18 5 B 19 5 AB 20 5 O