如何使用BigQuery遗留sql为多个值查询相同的重复字符串字段?
我有一个结构为t1的表:如何使用BigQuery遗留sql为多个值查询相同的重复字符串字段?,sql,google-bigquery,legacy-sql,Sql,Google Bigquery,Legacy Sql,我有一个结构为t1的表: id:整数 名称:重复(字符串) 我有多个名称的条目: 123;名字1,名字2 124;名字1,名字3,名字4,名字5 125;名字1,名字4,名字7 我想返回具有nameequalname1和name4的行(唯一),它们将返回第2行和第3行,id 124和125 Bigquery自动使结果变平。但这使得返回包含多行的行变得很困难 由于一些限制,必须使用LegacySQL来实现这一点。我试过: 选择_id作为_id,GROUP_CONCAT_UNQUOTED(n
- id:整数
- 名称:重复(字符串)
- 123;名字1,名字2
- 124;名字1,名字3,名字4,名字5
- 125;名字1,名字4,名字7
#standardSQL
SELECT id, name
FROM `project.dataset.table`
WHERE 2 = (SELECT COUNT(DISTINCT item) FROM UNNEST(name) item WHERE item IN ('name1','name4'))
结果
Row id name
1 124 name1
name3
name4
name5
2 125 name1
name4
name7
Row id name
1 124 name1,name3,name4,name5
2 125 name1,name4,name7
#standardSQL
SELECT id, name
FROM `project.dataset.table`
WHERE 2 = (SELECT COUNT(DISTINCT item) FROM UNNEST(name) item WHERE item IN ('name1','name4'))
Row id name
1 124 name1
name3
name4
name5
2 125 name1
name4
name7