On Wed, 3 Oct 2001, Josh Berkus wrote: > Joel, > > > A query such as "select sum(pages) from job_documents where > > delivery_type='print'" returned 0 in version 7.0.3 if there were no > > rows > > matching the query. In 7.1.3 the result is NULL if no rows match the > > query. Why the change? Which result is "correct" according to the > > SQL > > standard? > > While I wasn't aware of the change between versions, returning no rows > is correct for any aggregate except COUNT, which returns 0. Although, > now that you mention it, I'm not quite sure why that's the rule. I > mean, shouldn't COUNT return no rows, too? > > Goes to show you that the SQL standard isn't even the model of perfect > consistency .... > > BTW, returning no rows is somewhat different than returning NULL. WHat > you should be seeing is:
Actually it seems to me that one NULL row is correct... 7.9 <query specification> 1) Case: a) If T is not a grouped table, then Case: i) If the <select list> contains a <set function specifica- tion> that contains a reference to a column of T or di- rectly contains a <set function specification> that does not contain an outer reference, then T is the argument or argument source of each such <set function specification> and the result of the <query specification> is a table con- sisting of 1 row. The i-th value of the row is the value specified by the i-th <value expression>. ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])