Sql 基于用户参数筛选bigquery中的行
我有以下示例表: 信息 县 状态 信息1 索诺玛 加利福尼亚 信息2 弗雷斯诺 加利福尼亚 信息3 湖 加利福尼亚 信息5 湖 佛罗里达州Sql 基于用户参数筛选bigquery中的行,sql,google-bigquery,Sql,Google Bigquery,我有以下示例表: 信息 县 状态 信息1 索诺玛 加利福尼亚 信息2 弗雷斯诺 加利福尼亚 信息3 湖 加利福尼亚 信息5 湖 佛罗里达州 我建议对参数使用structs: SELECT ST_UNION_AGG(t.Info) as counties_info FROM `project.dataset.table` t WHERE EXISTS (SELECT 1 FROM UNNEST(@county_states) cs WHERE
我建议对参数使用structs:
SELECT ST_UNION_AGG(t.Info) as counties_info
FROM `project.dataset.table` t
WHERE EXISTS (SELECT 1
FROM UNNEST(@county_states) cs
WHERE cs.county = t.county AND cs.state = t.state
);
我建议对参数使用structs:
SELECT ST_UNION_AGG(t.Info) as counties_info
FROM `project.dataset.table` t
WHERE EXISTS (SELECT 1
FROM UNNEST(@county_states) cs
WHERE cs.county = t.county AND cs.state = t.state
);
你可以简单地使用
select ...
from `project.dataset.table`
where (State, County) in unnest(@state_county_pairs)
上面假设您的@state\u country\u pairs
参数是一个state、country对数组,如下面的脚本所示
declare state_county_pairs array<struct<State string, Country string>> ;
set state_county_pairs = [
struct('California' as State, 'Sonoma' as County),
struct('Florida', 'Lake')
];
select *
from `project.dataset.table`
where (State, County) in unnest(state_county_pairs)
其输出结合了这两个县的地理信息,如下所示
您只需使用
select ...
from `project.dataset.table`
where (State, County) in unnest(@state_county_pairs)
上面假设您的@state\u country\u pairs
参数是一个state、country对数组,如下面的脚本所示
declare state_county_pairs array<struct<State string, Country string>> ;
set state_county_pairs = [
struct('California' as State, 'Sonoma' as County),
struct('Florida', 'Lake')
];
select *
from `project.dataset.table`
where (State, County) in unnest(state_county_pairs)
其输出结合了这两个县的地理信息,如下所示