我想测试一些逻辑,在BigQuery中使用虚拟表和数据。我已经成功使用子查询上的通配符
WITH dummy AS (SELECT 1 AS a)
SELECT a FROM dummy
这样,通过使用WITH语句比较复杂,我可以尝试在这个虚拟表中的一些不同的逻辑。
现在我碰壁了,因为我有一些数据在不同的分区中,我想测试。使用标准的SQL我可以这样做:
SELECT a
FROM
`dummy_*`
WHERE
_TABLE_SUFFIX BETWEEN '20161001' AND '20161003'
但是我真的很希望能够做的子查询同样在WITH子句:
WITH
dummy_20161001 AS (SELECT 1 AS a UNION ALL SELECT 4 AS a),
dummy_20161002 AS (SELECT 7 AS a UNION ALL SELECT 10 AS a)
SELECT a FROM dummy_*
WHERE
_TABLE_SUFFIX BETWEEN '20161001' AND '20161003'
有什么我可以代替_TABLE_SUFFIX与做到这一点,还是有任何其他方式来创建表分区的虚拟表示?
这看起来不错:)我跑这个,它的工作。你能否澄清一下,'dummy_ *'表不会在BQ中创建,所以我不需要在之后删除? – binnisb
没错 - 没有在这里创建表格 –