Re: Join three fields into one on same table

From: "Gurjeet Singh" <singh(dot)gurjeet(at)gmail(dot)com>
To: "Sam Mason" <sam(at)samason(dot)me(dot)uk>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Join three fields into one on same table
Date: 2008-05-20 00:48:22
Message-ID: 65937bea0805191748h4b11cedbr46b839117febec7c@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Tue, May 20, 2008 at 5:34 AM, Sam Mason <sam(at)samason(dot)me(dot)uk> wrote:

> On Mon, May 19, 2008 at 03:36:39PM -0600, Scott Marlowe wrote:
> > On Mon, May 19, 2008 at 4:51 AM, jrivero <godsea(at)gmail(dot)com> wrote:
> > > My problem is not that make update query.
> > >
> > >> update table set date=(select year || '-' || month || '-' || day || '
> 01:00:00' as newdate from table)
> >
> > Cast the output of those concatenations to date:
> >
> > update table set date=(select (year || '-' || month || '-' || day || '
> > 01:00:00')::date as newdate from table)
>
> I'd guess the OP doesn't want the sub-query, if he posted the error
> message we'd know for sure. I'd guess something like:
>
> update table set date=(year||'-'||month||'-'||day||'01:00:00')::date;

That'd be my guess too. OP's subquery is possibly returning more than one
row, and hence an error.

>
> If the "date" column really is of date type, then the final
> "||'01:00:00'" is somewhat superfluous.
>

--
gurjeet[(dot)singh](at)EnterpriseDB(dot)com
singh(dot)gurjeet(at){ gmail | hotmail | indiatimes | yahoo }.com

EnterpriseDB http://www.enterprisedb.com

Mail sent from my BlackLaptop device

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Gregory Williamson 2008-05-20 00:57:58 Re: Vacuuming on heavily changed databases
Previous Message Nathan Thatcher 2008-05-20 00:23:17 Create database without entering password at command line