Is it something related to the json file you used?

I tried the following query, replacing "business.json' with
cp.`employee.json`. It works fine. (no row returned, which is
expected).

0: jdbc:drill:zk=local> WITH X1
. . . . . . . . . . . > AS
. . . . . . . . . . . > (SELECT city,
. . . . . . . . . . . > AVG(review_count) AS city_reviews_avg
. . . . . . . . . . . > FROM cp.`employee.json`
. . . . . . . . . . . > GROUP BY city),
. . . . . . . . . . . > X2
. . . . . . . . . . . > AS
. . . . . . . . . . . > (SELECT X1.city, X1.city_reviews_avg,
. . . . . . . . . . . > MAX(X1.city_reviews_avg)
. . . . . . . . . . . > OVER () AS city_reviews_avg_max
. . . . . . . . . . . > FROM X1)
. . . . . . . . . . . > SELECT X2.city, X2.city_reviews_avg
. . . . . . . . . . . > FROM X2
. . . . . . . . . . . > WHERE X2.city_reviews_avg_max = X2.city_reviews_avg;
+-------+-------------------+
| city  | city_reviews_avg  |
+-------+-------------------+
+-------+-------------------+
No rows selected (3.462 seconds)


On Wed, Sep 23, 2015 at 4:23 PM, Bob Rumsby <brum...@maprtech.com> wrote:
> Based on our docs, multiple table references are valid, and this is
> consistent with other systems where WITH is supported in queries. However,
> maybe the problem is the reference to X1 in the definition of X2?
>
> Bob
>
> On Wed, Sep 23, 2015 at 3:41 PM, Neeraja Rentachintala <
> nrentachint...@maprtech.com> wrote:
>
>> Team
>> Is this a valid Drill syntax (i.e 2 tables in with clause).
>>
>> WITH X1
>> AS
>> (SELECT city,
>> AVG(review_count) AS city_reviews_avg
>> FROM `business.json`
>> GROUP BY city),
>> X2
>> AS
>> (SELECT X1.city, X1.city_reviews_avg,
>> MAX(X1.city_reviews_avg)
>> OVER () AS city_reviews_avg_max
>> FROM X1)
>> SELECT X2.city, X2.city_reviews_avg
>> FROM X2
>> WHERE X2.city_reviews_avg_max = X2.city_reviews_avg;
>>
>> I am hitting this error. *Error: SYSTEM ERROR: NoSuchFieldError: constants*
>>
>> A single table specification in WITH clause works fine.
>>
>> -Neeraja
>>

Reply via email to