在具有相同模式编辑的表上使用UNION ALL进行Google大查询时出现SQL错误:模式从字符串更改为INT
我有以下疑问在具有相同模式编辑的表上使用UNION ALL进行Google大查询时出现SQL错误:模式从字符串更改为INT,sql,google-bigquery,Sql,Google Bigquery,我有以下疑问 SELECT * FROM `January_2018` UNION ALL SELECT * FROM `February_2018` 我在第二次SELECT调用时出现以下错误 UNION ALL中的列14具有不兼容的类型:STRING、STRING、INT64、, INT64,INT64,INT64,INT64,INT64,INT64,INT64,INT64,INT64,INT64在[7:3] 列名为travel_类型,其类型为值为0、1和2的整数 我试图从几
SELECT *
FROM `January_2018`
UNION ALL
SELECT *
FROM `February_2018`
我在第二次SELECT
调用时出现以下错误
UNION ALL中的列14具有不兼容的类型:STRING、STRING、INT64、,
INT64,INT64,INT64,INT64,INT64,INT64,INT64,INT64,INT64,INT64在[7:3]
列名为travel_类型,其类型为值为0、1和2的整数
我试图从几个较小的表中生成一个较大的表——相同数据的月度表。似乎其中一个字段在第4个月后已从字符串更改为Int数据类型,并在此后保持Int 尝试以下操作,使两个表架构匹配:
SELECT * EXCEPT(changed_column)
, CAST(changed_column AS STRING) AS changed_column
FROM table1
UNION ALL
SELECT * EXCEPT(changed_column)
, CAST(changed_column AS STRING) AS changed_column
FROM table2
请尝试以下操作,以使两个表架构匹配:
SELECT * EXCEPT(changed_column)
, CAST(changed_column AS STRING) AS changed_column
FROM table1
UNION ALL
SELECT * EXCEPT(changed_column)
, CAST(changed_column AS STRING) AS changed_column
FROM table2
要从不同的表中选择数据,可以使用通配符而不是union。通配符将在满足条件的所有表上执行查询。可以使用带有表前缀的通配符“*”一次选择多个表。表名必须具有相同的前缀和不同的后缀。Ex–Mytable_1、Mytable_2、Mytable_3………要从不同的表中选择数据,可以使用通配符而不是并集。通配符将在满足条件的所有表上执行查询。可以使用带有表前缀的通配符“*”一次选择多个表。表名必须具有相同的前缀和不同的后缀。Ex–Mytable_1、Mytable_2、Mytable_3………
UNION
要求将两个查询放在一起,以返回相同数量的列,并且具有相同数据类型的列对。您需要确保查询返回的列符合该约束…将根据您的输入编辑问题。请参阅问题。UNION
要求将两个查询放在一起,以返回相同数量的列,并且具有相同数据类型的列对。您需要确保查询返回的列符合该约束…将根据您的输入编辑问题。请看问题。前3个表是字符串,其他12个左右是Int。前3个表是否应该改为CAST(changed_column as Int)as changed_column
?我按照您的建议尝试了,但改为转换为INT64。我现在得到了这个错误Bad int64值:NULL
如果CAST
不起作用,因为不是所有的东西都可以强制转换,请尝试SAFE\u CAST
前3个表是string,其他12个左右是Int。它是否应该读取CAST(将列更改为Int)如前3列所更改的
?我按照您的建议进行了尝试,但改为转换为INT64。我现在得到这个错误错误的int64值:NULL
如果强制转换
不起作用,因为不是所有的东西都可以强制转换,请尝试安全强制转换