Ниже приведена упрощенная версия моего запроса.DebugReason в таблице Debug имеет тип INTEGER
, а DebugData имеет тип STRING
.И в таблице GPS нет таких двух полей, поэтому я подделал их со всеми NULL
.Причина, по которой мне нужно это сделать, не относится к этой проблеме, короче говоря, она мне нужна в следующем процессе
WITH RawDebug as
(
SELECT
STRUCT(DebugReason,DebugData) as Debug
FROM `devicedata.Debug.T*`
WHERE _TABLE_SUFFIX="20180624"
),
RawGPS AS (
SELECT
STRUCT(null as DebugReason,null as DebugData) as Debug
FROM
`devicedata.Gps.T*` AS g
WHERE _TABLE_SUFFIX="20180624"
)
select Debug
from RawDebug
UNION ALL
select Debug
from RawGPS
BigQuery говорит:
Error: Column 1 in UNION ALL has incompatible types: STRUCT<DebugReason INT64, DebugData STRING>, STRUCT<DebugReason INT64, DebugData INT64> at [18:1]
Я не могуразберись, что не так ... И как сделать это правильно?