When specifying columns in a GROUP BY clause would it be possible to use a
wildcard to specify all columns coming from a given relation?
SELECT
rosum.*,
sum(ld.amount) AS ldcost,
count(ld.amount) AS ldcount,
rosum.rocost + sum(ld.amount) AS netbal
FROM (
SELECT w.s_id, w.accountnumber, w.date_reference, w.invoicenumber,
sum(w.amount_cost) AS rocost, count(w.amount_cost) AS rocount
FROM wiplaboradpstaging w
WHERE <FILTER>
GROUP BY w.s_id, w.accountnumber, w.date_reference, w.invoicenumber
) rosum
LEFT JOIN ledgerdetail ld ON (
rosum.s_id = ld.s_id AND
rosum.accountnumber = ld.accountnumber AND
rosum.invoicenumber = ld.reference
)
GROUP BY rosum.* < ------- WildCard Group By Since the rosum sub-query has
already been subjected to a GROUP BY
Attempt to run this query in 9.0.3 results in:
"SQL Error: ERROR: column "rosum.s_id" must appear in the GROUP BY clause
or be used in an aggregate function
LINE 2: rosum.*,"
David J.
Responses
pgsql-general by date
| Next: | From: Misa Simic | Date: 2011-05-04 19:39:02 |
| Subject: Re: pervasiveness of surrogate (also called synthetic) keys |
| Previous: | From: David Boreham | Date: 2011-05-04 19:24:17 |
| Subject: Fwd: Re: SSDD reliability |