При написании запроса для bigQuery, как написать имя таблицы и имя столбца, используя переменные вместо жесткого кодирования

В указанном ниже запросе projectname-dataset-tableName жестко закодировано в запросе

query = """
SELECT city from bigquery-public-data.openaq.global_air_quality WHERE country = 'IN'
"""

Как написать то же самое более динамичным способом? Атрибут fulltableid не возвращает совместимый формат.

query1 = """
SELECT city from """ + str(tableGAQ.full_table_id) + """ WHERE country = 'IN'
"""

1 ответ

Если у вас был следующий запрос:

query = (
"SELECT name FROM `bigquery-public-data.usa_names.usa_1910_2013` "
'WHERE state = "TX" '
"LIMIT 100"
)

Чтобы использовать переменную для динамического ввода идентификатора вашей таблицы, ваш запрос будет выглядеть следующим образом:

tableID = "`bigquery-public-data.usa_names.usa_1910_2013`"
query = (
"SELECT name FROM"+ tableID + "
'WHERE state = "TX" '
"LIMIT 100"

)

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

Другие вопросы по тегам