27

BigQuery はまだ UNION をサポートしていないようです: https://developers.google.com/bigquery/docs/query-reference

(ソースのためにテーブルを結合するという意味ではありません。それはあります。)

もうすぐですか?

4

6 に答える 6

61

クエリ結果を組み合わせることができるようにUNIONが必要な場合は、BigQueryで副選択を使用できます。

SELECT foo, bar 
FROM
  (SELECT integer(id) AS foo, string(title) AS bar 
   FROM publicdata:samples.wikipedia limit 10),
  (SELECT integer(year) AS foo, string(state) AS bar 
   FROM publicdata:samples.natality limit 10);

これはSQLとほぼ同じです

SELECT id AS foo, title AS bar 
FROM publicdata:samples.wikipedia limit 10
UNION ALL
SELECT year AS foo, state AS bar 
FROM publicdata:samples.natality limit 10;

(UNIONALLではなくSQLUNIONが必要な場合、これは機能しないことに注意してください)

または、2つのクエリを実行して、結果を追加することもできます。

于 2012-05-18T01:26:53.100 に答える
3

あなたはいつでもできる:

SELECT * FROM (query 1), (query 2);

と同じことを行います:

SELECT * from query1 UNION select * from query 2;
于 2014-10-24T23:30:06.903 に答える
0

組合は実際にサポートされています。あなたが投稿したリンクからの抜粋:

注:他の多くの SQL ベースのシステムとは異なり、BigQuery はカンマ構文を使用して、結合ではなくテーブル ユニオンを示します。これは、次のように、互換性のあるスキーマを持つ複数のテーブルに対してクエリを実行できることを意味します。

// 数日間にわたって疑わしいアクティビティを見つける

SELECT FORMAT_UTC_USEC(event.timestamp_in_usec) AS time, request_url
  FROM [applogs.events_20120501], [applogs.events_20120502], [applogs.events_20120503]
  WHERE event.username = 'root' AND NOT event.source_ip.is_internal;
于 2013-04-08T21:09:57.943 に答える