我正在尝试从 Google 大查询公共(public)表中查询几何数据,并尝试找出如何在 WHERE 子句中传递值列表/过滤查询。请注意,我正在用 python 编写查询。
这是我的查询:
from google.cloud import bigquery
# Obtain geometries from Google Big Query
metros = ['Los Angeles-Long Beach-Anaheim, CA','Phoenix-Mesa-Chandler, AZ']
sql = """
SELECT *
FROM `bigquery-public-data.geo_us_boundaries.cbsa`
WHERE name IN UNNEST(metros)
"""
df = client.query(sql).to_dataframe()
我明白了:
BadRequest: 400 Unrecognized name: metros at [4:24]
最佳答案
您需要像这样传递数组:
from google.cloud import bigquery
# Obtain geometries from Google Big Query
metros = ['Los Angeles-Long Beach-Anaheim, CA','Phoenix-Mesa-Chandler, AZ']
sql = """
SELECT *
FROM `bigquery-public-data.geo_us_boundaries.cbsa`
WHERE name IN UNNEST(%s)""" %(metros)
df = client.query(sql).to_dataframe()
关于python - Google Bigquery - WHERE 子句中的值列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70383675/