Thread
-
Re: Cross-Tab queries in postgres?
wsheldah@lexmark.com — 2002-07-22T13:54:00Z
In MS Access, crosstab queries are implemented with the keyword TRANSFORM, IIRC. The easiest way to figure them out is to build a cross-tab query with the GUI query builder, then look at the SQL it produces. I think this might be implemented in SQL Server as well. It can be handy, but if there's not something comparable in the SQL standard, I'd rather see several other features added long before this one. Just my two cents. Wes Sheldahl Joe Conway <mail%joeconway.com@interlock.lexmark.com> on 07/22/2002 03:09:42 AM To: Martijn van Oosterhout <kleptog%svana.org@interlock.lexmark.com> cc: Postgresql General <pgsql-general%postgresql.org@interlock.lexmark.com> (bcc: Wesley Sheldahl/Lex/Lexmark) Subject: Re: [GENERAL] Cross-Tab queries in postgres? Martijn van Oosterhout wrote: > I know they're not supported and that they should be done in the > presentation end of the software. However, I have a case where I need to use > the result as the input to another query. So I'm reading the output, doing > the cross-tab and copying the result back into the database. > [snip] > Anyway, it doesn't seem to hard to implement so I was wondering if any other > database systems actually implement it. Mostly I'm interested in what syntax > they use to indicate such a query. (I presume it's not in the standard or > it'd be there already). I haven't seen this except in MS Access. I don't think you can directly produce a crosstab in MS SQL Server or Oracle, although in Oracle you can build your own table function. ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) -
Re: Cross-Tab queries in postgres?
Joe Conway <mail@joeconway.com> — 2002-07-23T04:21:29Z
wsheldah@lexmark.com wrote: > In MS Access, crosstab queries are implemented with the keyword TRANSFORM, IIRC. > The easiest way to figure them out is to build a cross-tab query with the GUI > query builder, then look at the SQL it produces. I think this might be > implemented in SQL Server as well. It can be handy, but if there's not something > comparable in the SQL standard, I'd rather see several other features added long > before this one. Just my two cents. > It's not in MSSQL Server at least through version 7 (just checked). I don't think it has been added in MSSQL 2000 either, but I can't really check that at the moment. MS Access syntax is like this: TRANSFORM Max(Table1.value) AS MaxOfvalue SELECT Table1.name FROM Table1 GROUP BY Table1.name PIVOT Table1.cat; but it *only* seems to allow TRANSFORM on an aggregate. Syntax TRANSFORM aggfunction selectstatement PIVOT pivotfield [IN (value1[, value2[, ...]])] Joe