我有两个表,我的外部select聚合了我放在where子句中的其他表中存在的所有in。这两个表都是使用通配符函数生成的。以下是查询-
SELECT count(id), timestamp FROM (TABLE_QUERY(dataset1, 'expr'))
WHERE id IN (SELECT id FROM (TABLE_QUERY(dataset1, 'expr'))
WHERE timestamp < 1414670361836) ) group by timestamp我会跟着错误-
查询失败错误:(L1:56):联接(包括半连接)和UNION (逗号)不能在单个SELECT语句中组合。要么将UNION移动到内部查询,要么将联接移动到外部查询。
有人能告诉我问题是什么吗?我该如何解决。
发布于 2014-10-30 18:21:39
使用处理公共数据的查询重新措辞。
这不管用:
SELECT COUNT(actor), created_at
FROM (TABLE_QUERY([publicdata:samples], "table_id CONTAINS 'github'"))
WHERE actor IN (
SELECT actor
FROM (TABLE_QUERY([publicdata:samples], "table_id CONTAINS 'github'"))
WHERE created_at > '')
GROUP BY created_at
Error: (L2:1): JOIN (including semi-join) and UNION ALL (comma) may not be combined in a single SELECT statement. Either move the UNION ALL to an inner query or the JOIN to an outer query.这确实是:
SELECT COUNT(actor), created_at
FROM (
SELECT actor, created_at
FROM (TABLE_QUERY([publicdata:samples], "table_id CONTAINS 'github'"))
)
WHERE actor IN (
SELECT actor
FROM (TABLE_QUERY([publicdata:samples], "table_id CONTAINS 'github'"))
WHERE created_at > ''
LIMIT 100)
GROUP BY created_at我刚搬了
SELECT actor, created_at
FROM (TABLE_QUERY([publicdata:samples], "table_id CONTAINS 'github'"))到内部查询。
https://stackoverflow.com/questions/26654282
复制相似问题