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




From: mailto:[email protected] 
Sent: Wednesday, April 6, 2016 10:03 PM
To: [email protected] 
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)




Reply via email to