2013-08-10 5 views
0

В моей SQL предложения FROM, я хочу использовать динамически созданную таблицу с помощью подзапроса:Поддерживает ли BigQuery подкатегории?

Select A.Field1,B.Field2 
FROM TableA as A, (select Field1,Field2 from TableB) B 
Where A.Field1 = B.Field1 

ли BigQuery поддерживает это?

+1

Вы попробовали запустить ее и проверить, каков результат? –

ответ

3

Вам не нужно подзапрос для этого:

Select A.Field1,B.Field2 
FROM TableA as A join 
    TableB as B 
    on A.Field1 = B.Field1; 

Но да, по reference manual, BigQuery поддерживает подзапросы.

+0

Обратите внимание, что вы можете использовать обычные типы соединений: внутренний, левый, правый, внешний. –

0

Да это, я помню, как делать что-то вроде

SELECT a ,b 
FROM Tablea 
WHERE a not IN (SELECT a FROM Tableb) 
0

Сначала давайте формально зафиксировать ваш запрос (при условии, что вы используете BigQuery Наследство SQL)
Пожалуйста, обратите внимание, что в Наследстве SQL запятой используются не как JOIN, но а как UNION ALL

так вы запрашиваете, чтобы работать, должен выглядеть, как показано ниже

SELECT A.Field1, B.Field2 
FROM TableA AS A 
JOIN (SELECT Field1, Field2 FROM TableB) AS B 
ON A.Field1 = B.Field1 

конечно, в ваш конкретный пример вам не нужно подзапрос, но я думаю, что это просто упрощенный пример, поэтому я не буду в этом направлении и другие ответы уже указывали на это в любом случае

Наконец, о подзапросов в BigQuery
BigQuery Наследие SQL поддерживает очень ограниченное использование подзапросов - знать, как table subquery - в оТ и придавить и полу- или анти-полусоединение (только одно поле)
Вы можете найти подробности здесь https://cloud.google.com/bigquery/query-reference

с другой стороны BigQuery Стандарт SQL обеспечивает службу технической поддержки для подзапросов - для подзапросов таблиц, а также подзапросов выражения
Вы можете увидеть больше здесь https://cloud.google.com/bigquery/sql-reference/query-syntax#subqueries Примечание: BigQuery Стандартная SQL-версия находится в Alpha еще

Смежные вопросы