我想创建一个包含SQL语句中指定值的列。结果应如下所示:
-- +---------+
-- | Title |
-- +---------+
-- | Title 1 |
-- | Title 2 |
-- | Title 3 |
-- | Title 4 |
-- +---------+
我知道使用语法SELECT * FROM(选择'标题1'作为标题),(选择标题2'作为标题),... 有没有更短的方法怎么做?我有数百个值,我需要在SQL语句中指定它们。
答案 0 :(得分:1)
以下是一个让您开始使用standard SQL。
的示例#standardSQL
SELECT Title
FROM UNNEST([
'Title 1',
'Title 2',
'Title 3'
]) AS Title;
您可以根据需要在列表中添加任意数量的标题。如果您使用的是BigQuery API,则可以pass an array type query parameter以避免必须在查询文本中包含该列表。
答案 1 :(得分:1)
for BigQuery Legacy SQL
list_display
您可以使用FLATTEN
运算符来拼合SPLIT的结果
见下面的例子
#legacySQL
SELECT SPLIT(Titles) AS Title
FROM (SELECT 'Title 1,Title 2,Title 3,Title 4' AS Titles)