Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google bigquery google bigquery在重复字段中选择具有多个值的行_Google Bigquery - Fatal编程技术网

Google bigquery google bigquery在重复字段中选择具有多个值的行

Google bigquery google bigquery在重复字段中选择具有多个值的行,google-bigquery,Google Bigquery,假设我有一个模式: 键字符串可为空 值重复整数 现在,请注意第二列是一个重复的整数字段 假设数据类似于: 关键词:“abc” 值:1 2 3(3个单独的值,以下值相同) 键:'def' 数值:1 2 5 键:“ghi” 数值:1 6 9 这里我想找出值为1和2的键?结果集应为“abc”和“def” 正在查找对此的查询。我想要一个“and”(“in”在这里不起作用)。我需要这两个值都存在,以便任何键作为结果返回 到目前为止,这是最干净的答案,因为google bq没有比这更干净的东西,比如“从[x

假设我有一个模式: 键字符串可为空
值重复整数

现在,请注意第二列是一个重复的整数字段

假设数据类似于:

关键词:“abc” 值:1 2 3(3个单独的值,以下值相同)

键:'def' 数值:1 2 5

键:“ghi” 数值:1 6 9

这里我想找出值为1和2的键?结果集应为“abc”和“def”


正在查找对此的查询。我想要一个“and”(“in”在这里不起作用)。我需要这两个值都存在,以便任何键作为结果返回

到目前为止,这是最干净的答案,因为google bq没有比这更干净的东西,比如“从[x]中选择键,其中值包含所有(…)”。但在进行编程时,当您有太多的值可供选择时,上述方法没有多大帮助,因为查询需要不断更改,并且无法每次预测时间性能,尤其是当应用程序面向客户端时。但这绝对是所有其他选择中最清晰的答案,包括自连接和分组。回答得好@ppa-您在这里的问题非常具体-没有任何迹象表明您需要更通用的解决方案(正如您在评论中所说的)。如果你可以发布另一个更一般的问题-我希望我们能找到更合适的解决方案是的,你的解决方案是正确的,因为在bq中没有更好的解决方案。再次感谢。
SELECT 
  key,
  SUM(values = 1 or values = 2) WITHIN RECORD AS check
FROM yourtable 
HAVING check = 2