Re: Generating a cross tab (pivot table)

Поиск
Список
Период
Сортировка
От Christoph Haller
Тема Re: Generating a cross tab (pivot table)
Дата
Msg-id 3DCFCFED.1F81C503@rodos.fzk.de
обсуждение исходный текст
Ответ на Generating a cross tab (pivot table)  (Christoph Haller <ch@rodos.fzk.de>)
Ответы Re: Generating a cross tab (pivot table)  ("Josh Berkus" <josh@agliodbs.com>)
Список pgsql-sql
> I saw something that might somewhat a bit more
> flexible solution using SQL. I don't know if it works
> in PostgreSQL. I saw it at the MySQL site.
>
>   The following is the URL:
>   http://www.mysql.com/articles/wizard/index.html
>
>   Has anyone tried this on a PostgreSQL database ?

No, not me.
But as far as I can tell the SQL statements can quite easily
be re-written in PostgreSQL:
e. g.
mysql> SELECT location, SUM(IF(gender='M',1,0)) AS M,
SUM(IF(gender='F',1,0)) AS F    -> FROM locations INNER JOIN employees USING (loc_code) GROUP BY
location;
becomes
SELECT location,
SUM(CASE WHEN gender='M' THEN 1 ELSE 0 END) AS "M",
SUM(CASE WHEN gender='F' THEN 1 ELSE 0 END) AS "F",
FROM locations LEFT JOIN employees ON
(locations.loc_code=employees.loc_code)
GROUP BY location;

And this goes for the perl script as well.

Regards, Christoph



В списке pgsql-sql по дате отправления:

Предыдущее
От: "Carlos Sousa"
Дата:
Сообщение: bigger problem
Следующее
От: Christoph Haller
Дата:
Сообщение: Generating a cross tab II (pivot table)