2014-06-10 64 views
4

在MySQL中,我可以执行SELECT (SELECT COUNT(*) FROM table1) - (SELECT COUNT(*) FROM table2)以获得两个表之间的计数差异。当我在BigQuery中试用时,得到:Subselect not allowed in SELECT clause。如何在BigQuery中运行这样的查询?BigQuery减去两个表的计数?

回答

4

当子查询未在SELECT子句中的支持,我会用一个CROSS JOIN这个特定的查询:

SELECT a.c - b.c 
FROM 
    (SELECT COUNT(*) c FROM [publicdata:samples.natality]) a 
CROSS JOIN 
    (SELECT COUNT(*) c FROM [publicdata:samples.shakespeare]) b 
+0

这是我结束了做什么,但它看起来比MySQL的方式更恶心。是否有计划在未来支持MySQL方式? – Eli

+0

您的选票是我们的计划:) https://code.google.com/p/google-bigquery/issues/list?can=2&q=label%3DFeature-Request –