2017-07-26 15 views
0

BigQueryの標準SQLを使用して、2つのテーブルを繰り返しフィールドに結合しようとしています。UNNEST()を使用して繰り返しフィールドを持つテーブルに結合する

SELECT 
    b.*, 
    t.field1, 
    t.field2 
FROM 
    FLATTEN([table1],repeated_field) AS b 
LEFT JOIN 
    [table2] AS t 
ON 
    b.Row = t.RowLabel 
    b.seat = t.SeatLabel 

繰り返しフィールドがseatです:レガシーSQLを使用して、私はこのクエリ

レガシーSQLを思い付きました。私はunnest()を使ってみて、migration guideを見てみましたが、自分で質問を出すことはできませんでした。感謝のおかげで感謝。以下

+0

次のようにダミーデータでそれをテストすることができBigQueryの標準SQLのためにあるのですか? –

答えて

2

#standardSQL 
SELECT 
    b.*, 
    t.field1, 
    t.field2 
FROM `table1` AS b, UNNEST(Seats) AS Seat 
JOIN `table2` AS t 
ON b.Row = t.RowLabel 
AND Seat = t.SeatLabel 

あなたは、データと、このクエリに対する応答がどのように見えるん

#standardSQL 
WITH `table1` AS (
    SELECT '1' AS Row, ['a', 'b', 'c'] AS Seats 
), 
`table2` AS (
    SELECT '1' AS RowLabel, 'b' AS SeatLabel, 111 AS field1, 222 AS field2 UNION ALL 
    SELECT '1' AS RowLabel, 'a' AS SeatLabel, 111 AS field1, 222 AS field2 UNION ALL 
    SELECT '1' AS RowLabel, 'd' AS SeatLabel, 111 AS field1, 222 AS field2 
) 
SELECT 
    b.*, 
    t.field1, 
    t.field2 
FROM `table1` AS b, UNNEST(Seats) AS Seat 
JOIN `table2` AS t 
ON b.Row = t.RowLabel 
AND Seat = t.SeatLabel 
関連する問題