>Tools: Delphi 2006, IB Objects 4.9.14
>
>Query:
>SELECT (COUNT(*)+0.00)/2 as "LabelsCount"
>FROM LABELS
>
>previously worked. Now I get an error:
>
>Invalid expression in the select list (not contained in either aggregate 
>function or GROUP BY clause
>
>However when I run the query from the SQL editor in Firebird Maestro it works 
>and gives the correct result.
>
>Any ideas on why this won't work from Delphi\IB Objects?

I'm impressed that it worked - I've never thought it was possible to further 
manipulate an aggregate result within the expression itself!

Given that your query is quite unusual, I guess it is likely to be an IBO issue 
(e.g. I know IBO often adds RDB$DB_KEY to the select if you have 
KeyLinksAutoDefine (or similar) set to true - change it to false and your error 
may disappear), and as such it is more appropriate to ask on the ibobjects list 
than here. However, I would expect the following (and probably more common) 
workarounds to work:

a)
WITH TMP(CountLabels) as
(SELECT COUNT(*) FROM LABELS)
SELECT (CountLabels+0.00)/2 as "LabelsCount"
FROM TMP

b)
SELECT SUM(0.5) as "LabelsCount" FROM LABELS

HTH,
Set

Reply via email to