Am 29.09.2005 um 10:30 schrieb Richard Huxton:

Axel Rau wrote:
SELECT T2.T2_name, COUNT(T1.id) AS xx
FROM T2, T1
WHERE T2.id = T1.fk_t2
GROUP BY T2.T2_name
HAVING COUNT(T1.id) > 1
ORDER BY xx DESC;
t2_name | xx
---------+----
T2-N2 | 3
T2-N3 | 2
(2 rows)
Adding column t1_name to the result set breaks COUNT(T1.id):
SELECT T2.T2_name, T1.T1_name, COUNT(T1.id) AS xx
FROM T2, T1
WHERE T2.id = T1.fk_t2
GROUP BY T2.T2_name, T1.T1_name
HAVING COUNT(T1.id) > 1
ORDER BY xx DESC;
t2_name | t1_name | xx
---------+---------+----
(0 rows)
How can I do this with pg ?

Do what? You don't say what results you are expecting.

Do you want:
1. ALL values of T1_name (in which case what count do you want)?
2. The FIRST value of T1_name (in which case what do you mean by first)?

#1.:

t2_name | t1_name | count
---------+---------+-------
T2-N2 | T1-CCC | 3
T2-N3 | T1-FFF | 2
T2-N2 | T1-BBB | 3
T2-N2 | T1-DDD | 3
T2-N3 | T1-EEE | 2
(5 rows)

Sorry, for not making this clear.

Thank you for taking the time,

Axel

Axel Rau, Frankfurt, Germany +49-69-951418-0

Attachment: PGP.sig
Description: Signierter Teil der Nachricht

Reply via email to