Re: group by weirdness

Поиск
Список
Период
Сортировка
От Carl van Tast
Тема Re: group by weirdness
Дата
Msg-id 9decqt0vottpt0ju1i8re2mudhhhph24lr@4ax.com
обсуждение исходный текст
Ответ на group by weirdness  (Joseph Shraibman <jks@selectacast.net>)
Список pgsql-sql
On Sat, 15 Sep 2001 00:26:01 +0200, I wrote:

> [...]
>CREATE VIEW mj1 (jid, cnt) AS
>SELECT jid, COUNT(mid) cnt FROM mj GROUP BY jid;

This should be COUNT(mid) AS cnt ...

> [...]
>I did not test this with PostgreSQL, but you get the idea.

Well, now I did test with PostgreSQL (thanks, Jason Tishler, for your
Cygwin PostgreSQL README!). PG does not support column aliases without
"AS". 

>Probably PG is even smart enough to handle it all in one:

Sure it is. So, Joseph, your solution is:

SELECT j.id, j.created, mj1.cnt, ml1.cnt, ml2.cnt
FROM j
LEFT JOIN (SELECT jid, COUNT(mid) AS cnt          FROM mj          GROUP BY jid) mj1    ON (j.id = mj1.jid)
LEFT JOIN (SELECT jid, COUNT(*) AS cnt          FROM ml          WHERE state <> 11          GROUP BY jid) ml1    ON
(j.id= ml1.jid)
 
LEFT JOIN (SELECT jid, COUNT(*) AS cnt          FROM ml          WHERE state IN (2, 5)          GROUP BY jid) ml2    ON
(j.id= ml2.jid)
 
WHERE j.fkey = 1;

HTH,Carl van Tast


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

Предыдущее
От: "ericnielsen@pop.ne.mediaone.net"
Дата:
Сообщение: Implicit v Explicit joins...
Следующее
От: rdear
Дата:
Сообщение: PL/PGSQL Regexe