Dear all, I installed postgresql 8.04 on a pentium box with freebsd 5.4 # psql --version psql (PostgreSQL) 8.0.4 In the db switch I have the following ct1 table switch=# select * from ct1 order by 1,2; id | rowclass | rowid | attribute | value ----+----------+-------+----------- +------- 1 | group1 | test1 | att1 | 8 2 | group1 | test1 | att2 | 15 3 | group1 | test1 | att3 | -1 4 | group1 | test1 | att4 | 12 5 | group1 | test2 | att1 | 17 6 | group1 | test2 | att2 | 456 7 | group1 | test2 | att3 | 2 8 | group1 | test2 | att4 | -12 9 | group1 | test1 | att1 | 10 10 | group1 | test2 | att2 | -420 (10 righe) crosstable seems to work (even though with wierd, wrong results for which I blame the repetition of some records and values) : select * from crosstab('select rowid, attribute, value from ct1 where rowclass = ''group1'' order by 1,2;', 2) as c(rowid text, att1 integer, att2 integer); rowid | att1 | att2 -------+------+------ test1 | 8 | 10 test2 | 17 | -420 (2 righe) If I aggregate switch=# select rowid,attribute, sum(value) as val from ct1 group by rowid, attribute order by 1,2; rowid | attribute | val -------+-----------+----- test1 | att1 | 18 test1 | att2 | 15 test1 | att3 | -1 test1 | att4 | 12 test2 | att1 | 17 test2 | att2 | 36 test2 | att3 | 2 test2 | att4 | -12 (8 righe) crosstab doesn't seem to work anymore putting the above select into crosstab switch=# select * from crosstab('select rowid,attribute, sum(value) as val from ct1 group by rowid, attribute order by 1,2;', 2) as c(rowid text, att1 integer, att2 integer); ERROR: query-specified return row and actual function return row do not match Please help I'm in badly need of the crosstab function. Ciao Vittorio