我正在尝试保存视图。 我的几个字段都是timestamp类型。 我收到以下错误消息:
无法创建视图。无效的字段名称“Myfield.usec”。字段必须仅包含字母,数字和下划线,以字母或下划线开头,最多128个字符。
字段名称对于从浏览器运行查询有效,其名称为“Myfield”(“。usec”仅出现在错误消息中,可能代表其类型)。
将其转换为Integer时,我没有收到任何错误。 这是一个已知的错误?我做错了什么?
由于
答案 0 :(得分:1)
你需要写为:
select FORMAT_UTC_USEC(timestamp) as timestamp ...
此外,您还需要取消引用视图的嵌套记录类型字段:
SELECT utm.campaign as utm_campaign ...
答案 1 :(得分:0)
即使没有记录或时间戳字段,我们也无法使用SELECT table.*
进行查看查询。我们运行查询:
SELECT a.*, b.title AS cat_title
FROM [dataset1.table] AS a,
LEFT JOIN EACH [dataset2.table] AS b
ON a.cat_id = b.id
并收到错误: 无法创建视图。无效的字段名称“a.id”。字段必须仅包含字母,数字和下划线,以字母或下划线开头,最多128个字符。
所以我们必须从表中指定每个字段:
SELECT a.id as id, a.title as title, a.lang as lang, b.title AS author
FROM [dataset1.table] AS a,
LEFT JOIN EACH [dataset2.table] AS b
ON a.cat_id = b.id
这非常不舒服,并且非常适合修复。