Received: from localhost (maia-1.hub.org [200.46.204.191]) by postgresql.org (Postfix) with ESMTP id F3D5E9FB25C for ; Wed, 28 Mar 2007 12:33:36 -0300 (ADT) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.191]) (amavisd-maia, port 10024) with ESMTP id 20357-01-2 for ; Wed, 28 Mar 2007 12:33:30 -0300 (ADT) X-Greylist: from auto-whitelisted by SQLgrey-1.7.4 Received: from fmed.uba.ar (mail.fmed.uba.ar [157.92.152.1]) by postgresql.org (Postfix) with ESMTP id 43B819FB9E5 for ; Wed, 28 Mar 2007 12:33:31 -0300 (ADT) Received: from [157.92.155.58] (unknown [157.92.155.58]) by fmed.uba.ar (Postfix) with ESMTP id CD8874CFB2B; Wed, 28 Mar 2007 12:44:30 -0300 (ART) Message-ID: <460A8865.3070005@fmed.uba.ar> Date: Wed, 28 Mar 2007 12:23:17 -0300 From: Gerardo Herzig User-Agent: Mozilla Thunderbird 1.0.7 (X11/20050923) X-Accept-Language: en-us, en MIME-Version: 1.0 To: pgsql-sql@postgresql.org CC: andreas.kretschmer@schollglas.com Subject: Re: union with count? References: <460A75ED.6070501@fmed.uba.ar> <20070328142444.GA20168@a-kretschmer.de> In-Reply-To: <20070328142444.GA20168@a-kretschmer.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: Maia Mailguard 1.0.1 X-Archive-Number: 200703/334 X-Sequence-Number: 27972 Thanks! But now i have another problem related with count(): select page_id, word, word_position, count(page_id) from (select * from search_word('word1', 'table1') union search_word('word2', 'table2')) foo group by page_id; and gives me "foo.word must appear in GROUP clause or be used in an aggregate function" And i want to group by page_id only, because that is what i need to count. Tips here? Thanks again man. Gerardo >am Wed, dem 28.03.2007, um 11:04:29 -0300 mailte Gerardo Herzig folgendes: > > >>Hi dudes, i have the following question >>i have 2 tables with the same format, and i want to know if is there a >>possibility of using some sort of count(*) for achieving this result: >>select a from table1 where (condition) union select a from table2 where >>(condition), count(a) group by a >> >>The idea is having how many times (condition) is true for both tables. >> >>Im not shure im explaining myself clearly, my english is not the best >>(as you can see ;) >> >> > >You can use a subselect, a simple example: > >test=# select *, count(1) from (select 1 union select 2 union select 3) foo group by 1; > ?column? | count >----------+------- > 1 | 1 > 2 | 1 > 3 | 1 >(3 rows) > > >Andreas > >