Hello Maryann,

Thanks very much for your reply. Hopefully this bug gets fixed in the next
release so that I can continue working with this part in my research
project. Thanks for keeping me posted.

With respect to your question, I am using the "History" table as a data
store of all versions of a certain data item. When I say Max(H."timestamp")
inside the query, I am selecting the latest version (most recent) that is
"approved" (which is checked using the condition H."status" = 'approved')



Best Regards,
Khaleel

On Thu, Apr 23, 2015 at 6:22 AM, Maryann Xue <maryann....@gmail.com> wrote:

> Hi Khaleel,
>
> Thanks a lot for reporting the problem, which looks like a bug. I will
> file a JIRA and keep you posted.
>
> One question though, why would we use MAX(H."timestamp") instead of 
> H."timestamp"?
> What difference would it make?
>
>
> Thanks,
> Maryann
>
> On Wed, Apr 22, 2015 at 9:45 AM, khaleel mershad <khellom...@gmail.com>
> wrote:
>
>>
>> Hello,
>>
>> I tried executing the following query in Phoenix:
>> select distinct W."rowId", W."md5_current", W."size_current" from "Wiki"
>> AS W where EXISTS( select MAX(H."timestamp") from "History" AS H where
>> (H."rowId" = W."rowId") AND (H."status" = 'approved') );
>>
>> I got the following error:
>> ERROR 1018 (42Y27): Aggregate may not contain columns not in GROUP BY.
>> (state=42Y27,code=1018)
>>
>> If I replace W."rowId" (in the where clause) with a constant value (for
>> example: '3587'), the query works fine. Also, if I replace the aggregate
>> MAX(H."timestamp") with H."timestamp", the query also works fine.
>>
>> So it seems that Phoenix generates error when using a reference to an
>> outer query while using an aggregate within the inner query.
>>
>> Any solutions?
>>
>>
>>
>> Regards,
>>
>> Khaleel Mershad, Ph.D.
>> Research Associate
>>
>> American University of Beirut
>> Department of Electrical and Computer Engineering
>> Bliss Street, Beirut, Lebanon
>> email: kw...@aub.edu.lb
>>
>
>

Reply via email to