Google cloud platform 如何在BigQuery中将硬编码值与表数据进行比较?

Google cloud platform 如何在BigQuery中将硬编码值与表数据进行比较?,google-cloud-platform,google-bigquery,Google Cloud Platform,Google Bigquery,我想将硬编码值与表元数据(列、数据类型)进行比较。如何在BigQuery中实现以下常用SQL逻辑 (select 'complaint_type' as column_name, 'STRING' as data_type union all select 'complaint_description', 'STRING')s except select column_name, data_type from `bigquery-public-data.austin_311.INFORMATI

我想将硬编码值与表元数据(列、数据类型)进行比较。如何在BigQuery中实现以下常用SQL逻辑

(select 'complaint_type' as column_name, 'STRING' as data_type
union all select 'complaint_description', 'STRING')s
except
select column_name, data_type 
from `bigquery-public-data.austin_311.INFORMATION_SCHEMA.COLUMN_FIELD_PATHS`

下面是BigQuery标准SQL

#standardSQL
WITH hard_coded_values AS (
  SELECT 'complaint_type' AS column_name, 'STRING' AS data_type UNION ALL 
  SELECT 'complaint_description', 'STRING' UNION ALL
  SELECT 'complaint_test', 'STRING' 
)
SELECT * 
FROM hard_coded_values
WHERE NOT (column_name, data_type) IN (
  SELECT AS STRUCT column_name, data_type 
  FROM `bigquery-public-data.austin_311.INFORMATION_SCHEMA.COLUMN_FIELD_PATHS`
)
有输出

Row column_name     data_type    
1   complaint_test  STRING   

下面是BigQuery标准SQL

#standardSQL
WITH hard_coded_values AS (
  SELECT 'complaint_type' AS column_name, 'STRING' AS data_type UNION ALL 
  SELECT 'complaint_description', 'STRING' UNION ALL
  SELECT 'complaint_test', 'STRING' 
)
SELECT * 
FROM hard_coded_values
WHERE NOT (column_name, data_type) IN (
  SELECT AS STRUCT column_name, data_type 
  FROM `bigquery-public-data.austin_311.INFORMATION_SCHEMA.COLUMN_FIELD_PATHS`
)
有输出

Row column_name     data_type    
1   complaint_test  STRING   

不清楚你心目中的逻辑-你能澄清一下吗。还有,上面的预期结果是什么?查询应该返回表中不包含的硬编码列或具有不同数据类型的列不清楚您想要的逻辑-您能澄清一下吗。另外,上面的预期结果是什么?查询应该返回表中不包含的硬编码列或具有不同数据类型的列