Bigquery:合并两列

时间:2019-03-13 10:19:46

标签: google-bigquery

我只是想知道如何在Bigquery中结合两个字段。

这是我的SQL

SELECT
 cast(tbl.table_name as string) + '.' + cast(col.column_name as string)
FROM 
xy.INFORMATION_SCHEMA.TABLES tbl
INNER JOIN 
xy.INFORMATION_SCHEMA.COLUMNS col
ON tbl.table_name = col.table_name

这是我遇到的错误

  

对于运算符+,对于以下参数类型没有匹配的签名:STRING,STRING。支持的签名:INT64 + INT64; FLOAT64 + FLOAT64; NUMERIC + NUMERIC at [3:2]

2 个答案:

答案 0 :(得分:1)

您可以使用link

中定义的concat

这是SQL

SELECT
 CONCAT(cast(tbl.table_name as string), '.',cast(col.column_name as string))
FROM 
`dataset.INFORMATION_SCHEMA.TABLES` tbl
INNER JOIN 
`dataset.INFORMATION_SCHEMA.COLUMNS` col
ON tbl.table_name = col.table_name

输出

+---------------------+
| fo_                 |
+---------------------+
| Table1.col          |
| Table1.col2         |
+---------------------+

答案 1 :(得分:0)

对于BigQuery标准SQL

您可以仅使用VideoWriter函数而无需writer = cv2.VideoWriter(args["output"], fourcc, args["fps"], (w*2, h), True) 将字符串转换为字符串,如下面的示例

CONCAT()

另一个选择是CAST函数

CONCAT(tbl.table_name, '.', col.column_name)