Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.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 cloud platform 两个表之间的BigQuery差异_Google Cloud Platform_Google Bigquery - Fatal编程技术网

Google cloud platform 两个表之间的BigQuery差异

Google cloud platform 两个表之间的BigQuery差异,google-cloud-platform,google-bigquery,Google Cloud Platform,Google Bigquery,在两个表之间搜索时,我试图查找并返回不匹配的行 两个表有相同的3列。两个表的ID数量完全相同。桌子是a和b 科尔斯;身份证,国家,通行证 我试图返回id匹配的表之间passfail不匹配的所有行 我试图运行2个查询,但似乎无法打印结果行 这两个问题似乎对我都不起作用 欢迎提供任何帮助或建议 您必须在id字段中加入。以下是一个例子: WITH a as (SELECT * FROM UNNEST(ARRAY<STRUCT<id INT64, country STRING, passfa

在两个表之间搜索时,我试图查找并返回不匹配的行

两个表有相同的3列。两个表的ID数量完全相同。桌子是a和b

科尔斯;身份证,国家,通行证

我试图返回id匹配的表之间passfail不匹配的所有行

我试图运行2个查询,但似乎无法打印结果行

这两个问题似乎对我都不起作用

欢迎提供任何帮助或建议

您必须在id字段中加入。以下是一个例子:

WITH a as (SELECT * FROM UNNEST(ARRAY<STRUCT<id INT64, country STRING, passfail BOOL>>[(1, 'uk', true), (3, 'fr', false)])),
     b as (SELECT * FROM UNNEST(ARRAY<STRUCT<id INT64, country STRING, passfail BOOL>>[(1, 'uk', true), (3, 'fr', true)]))

SELECT
  a.*
FROM
  a
LEFT JOIN
  b
ON
  (a.id = b.id)
WHERE
  a.passfail != b.passfail

这很好。考虑使用一个完整的外部连接,从A和B中选择两个表中的错配。建议的查询检索两个表上存在的ID匹配的所有匹配项。b、 passfail选择在passfail时不匹配的@谢默斯,如果询问回答你的问题,请考虑接受。但如果没有,请随时询问任何澄清。
SELECT a.* 
FROM a 
AS a JOIN b 
AS b 
ON a.passfail = b.passfail 
WHERE a.passfail != b.passfail
WITH a as (SELECT * FROM UNNEST(ARRAY<STRUCT<id INT64, country STRING, passfail BOOL>>[(1, 'uk', true), (3, 'fr', false)])),
     b as (SELECT * FROM UNNEST(ARRAY<STRUCT<id INT64, country STRING, passfail BOOL>>[(1, 'uk', true), (3, 'fr', true)]))

SELECT
  a.*
FROM
  a
LEFT JOIN
  b
ON
  (a.id = b.id)
WHERE
  a.passfail != b.passfail