Received: from maia.hub.org (maia-5.hub.org [200.46.204.29]) by mail.postgresql.org (Postfix) with ESMTP id 341C01337BA6 for ; Mon, 21 Feb 2011 07:54:19 -0400 (AST) Received: from mail.postgresql.org ([200.46.204.86]) by maia.hub.org (mx1.hub.org [200.46.204.29]) (amavisd-maia, port 10024) with ESMTP id 17034-01 for ; Mon, 21 Feb 2011 11:54:13 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from rs73.luxsci.com (rs73.luxsci.com [64.49.254.135]) by mail.postgresql.org (Postfix) with ESMTP id 5E4D61337B93 for ; Mon, 21 Feb 2011 07:54:11 -0400 (AST) Received: from GNANAM ([180.151.61.10]) (authenticated bits=0) by rs73.luxsci.com (8.13.8/8.13.8) with ESMTP id p1LBs5tN001385; Mon, 21 Feb 2011 05:54:07 -0600 Reply-To: From: "Gnanakumar" To: "'Dmitriy Igrishin'" Cc: References: <003d01cbce71$1eaf1c90$5c0d55b0$@com> <001e01cbcf30$e35cca00$aa165e00$@com> In-Reply-To: Subject: Re: Is it possible to get DISTINCT rows from RETURNING clause? Date: Mon, 21 Feb 2011 17:20:41 +0530 Organization: Zoniac Software Private Limited Message-ID: <007701cbd1bd$927a3de0$b76eb9a0$@com> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Office Outlook 12.0 Thread-Index: AcvQG+ewCVMm8ni3QTGbB7vkDE3GhgBoXS0Q Content-Language: en-us X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=-1.9 tagged_above=-5 required=5 tests=BAYES_00=-1.9 X-Spam-Level: X-Archive-Number: 201102/105 X-Sequence-Number: 35181 Hi Dmitriy Igrishin, Thanks. That's a good idea too. From: Dmitriy Igrishin [mailto:dmitigr@gmail.com] Sent: Saturday, February 19, 2011 3:31 PM To: gnanam@zoniac.com Cc: pgsql-sql@postgresql.org Subject: Re: [SQL] Is it possible to get DISTINCT rows from RETURNING clause? Hey Gnanakumar, You can wrap you UPDATE query into SQL function returning TABLE, e.g: CREATE OR REPLACE FUNCTION public.update_mytable() RETURNS TABLE(email text, column1 text, column2 text, column3 text) LANGUAGE sql AS $function$ UPDATE MYTABLE SET ABOOLEANCOLUMN = true FROM MYTEMPTABLE WHERE EMAIL = MYTEMPTABLE.EMAIL RETURNING EMAIL, COLUMN1, COLUMN2, COLUMN3; $function$; Next you can write, e.g: SELECT DISTINCT * FROM (SELECT update_mytable()) AS foo(email, column1, column2, column3); And so on. 2011/2/18 Gnanakumar Any ideas? -----Original Message----- From: Gnanakumar [mailto:gnanam@zoniac.com] Sent: Thursday, February 17, 2011 12:36 PM To: pgsql-sql@postgresql.org Subject: Is it possible to get DISTINCT rows from RETURNING clause? Hi, Is it possible to get DISTINCT rows from an UPDATE statement using RETURNING clause? "MYTABLE" columns are: APRIMARYKEYCOLUMN ABOOLEANCOLUMN EMAIL COLUMN1 COLUMN2 COLUMN3 UPDATE using RETURNING clause query: UPDATE MYTABLE SET ABOOLEANCOLUMN = true FROM MYTEMPTABLE WHERE EMAIL = MYTEMPTABLE.EMAIL RETURNING EMAIL, COLUMN1, COLUMN2, COLUMN3; Here in this case, I expect to return distinct rows from these columns: EMAIL, COLUMN1, COLUMN2, COLUMN3. I even tried out some ways of getting distinct rows, but it doesn't work. Though I can still solve this at application layer, I'm trying to find whether this could be controlled at query-level. Any different ideas/suggestions are appreciated. Regards, Gnanam -- Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-sql -- // Dmitriy.