我不明白这个查询的问题是什么。
它说
无法在 [7:3] 处执行不可比较类型 STRING 和 INT64 的 IN 子查询
尝试了这个查询,但它不起作用。
SELECT
station_id,
name
FROM
bigquery-public-data.new_york_citibike.citibike_stations
WHERE
station_id IN
(
SELECT
start_station_id
FROM
bigquery-public-data.new_york_citibike.citibike_trips
WHERE
usertype = 'Subscriber'
)
我假设 station_id 和 start_station_id 的数据类型不相似。在这种情况下,我们可以对其中一列进行强制转换,使两者具有相同的类型。
如果station_id为字符串且start_station_id为整数类型。我会编写如下查询。希望这有帮助
选择 站号, 姓名 从 bigquery-public-data.new_york_citibike.citibike_stations 在哪里 station_id IN
( 选择 强制转换(start_station_id 作为字符串) 从 bigquery-public-data.new_york_citibike.citibike_trips 在哪里 用户类型 = '订阅者' )
我可以确认 CAST 作为 station_id 的字符串是有效的。
SELECT
station_id,
name
FROM
bigquery-public-data.new_york.citibike_stations
WHERE
station_id IN
(
SELECT
CAST (start_station_id AS STRING)
FROM
bigquery-public-data.new_york.citibike_trips
WHERE
usertype =
'Subscriber'
)