Subject | Re: [firebird-support] SQL Error Code -104: What is wrong with this rather simply SQL? |
---|---|
Author | Arno Brinkman |
Post date | 2016-04-06T21:35:40Z |
Hi,
The message doesn’t tell you which expression is not contained in an
aggregate function or GROUP BY clause, but is very clear that it is “P.PHONE_ID”
Not sure what you trying to achieve, but your SQL is indeed invalid,
because there can be multiple PHONE_ID’s per AREA_CODE, PHONE_NO
Kind
Regards,
Arno Brinkman
Arno Brinkman
Sent: Wednesday, April 6, 2016 10:03 PM
Subject: [firebird-support] SQL Error Code -104: What is wrong with
this rather simply SQL?
SELECT DISTINCT P.AREA_CODE, P.PHONE_NO,
(SELECT COUNT(*)
FROM PHONE P2
WHERE P2.PHONE_ID = P.PHONE_ID) AS CNT
FROM PHONE P
WHERE P.AREA_CODE IS NOT NULL
GROUP BY 1, 2
HAVING (SELECT COUNT(*)
FROM PHONE P3
WHERE P3.PHONE_ID = P.PHONE_ID
AND P3.AREA_CODE IS NOT NULL) > 1
Dynamic SQL Error SQL error code = -104 Invalid expression in the select list (not contained in either an aggregate function or the GROUP BY clause)