考虑两张table, ratings
以及 products
还有一些列。我正在尝试使用
SELECT AVG(r.rating), COUNT(p.prod_id) FROM ratings as r, products as p;
我保存为 script.impala
然后用 impala-shell -f script.impala
. 我得到以下信息: [user@localhost]$ impala-shell -f script.impala *mumble* Query: select AVG(r.rating), COUNT(p.prod_id) FROM ratings as r, products as p ERROR: NotImplementedException: Join between 'r' and 'p' requires at least one conjunctive equality predicate between the two tables Could not execute command: select AVG(r.rating), COUNT(p.prod_id) FROM ratings as r, products as p
我在 Impala 文档中没有找到关于这种查询的信息。这个查询的正确语法是什么?两种方法在不同的语句中都能完美地工作。
Impala 的版本是 Impala Shell v1.0 (d1bf0d1) built on Sun Apr 28 15:33:52 PDT 2013
. 我知道它太老了,但我不能改变它。
1条答案
按热度按时间zpgglvta1#
不要在句子中使用逗号
FROM
条款。始终使用适当的、明确的JOIN
语法。在您的情况下,您有一个查询。这个怎么样?不管怎样,你的查询措辞都会返回非理性的结果。例如,它将返回两个表中行数的乘积。