Re: COALESCE woes

Поиск
Список
Период
Сортировка
От
Тема Re: COALESCE woes
Дата
Msg-id C5DBACC6DCC7604C9E4875FD9C7968B112D9295CB9@ITXS01EVS.service.it.nrw.de
обсуждение исходный текст
Ответ на COALESCE woes  (Greg Spiegelberg <gspiegelberg@gmail.com>)
Ответы Re: COALESCE woes  (Greg Spiegelberg <gspiegelberg@gmail.com>)
Список pgsql-general

You probably mean ts2.user_id not ts2, user_id, right?

 

Best regards

Holger Friedrich

 

From: pgsql-general-owner@postgresql.org [mailto:pgsql-general-owner@postgresql.org] On Behalf Of Greg Spiegelberg
Sent: Friday, April 24, 2015 3:07 PM
To: pgsql-general@postgresql.org >> PG-General Mailing List
Subject: [GENERAL] COALESCE woes

 

Hi PG List,

 

I'm missing something or haven't had enough coffee yet.  What gives with the COALESCE in the view below?

 

mxl_sqr=# \d users

     Table "public.users"

 Column  |  Type   | Modifiers

---------+---------+-----------

 user_id | integer | not null

Indexes:

    "users_pkey" PRIMARY KEY, btree (user_id)

 

CREATE TABLE ts1 (

 user_id int references users(user_id),

 ts      timestamptz default now()

);

 

CREATE TABLE ts2 (

 user_id int references users(user_id),

 ts      timestamptz default now()

);

 

CREATE TABLE ts3 (

 user_id int references users(user_id),

 ts      timestamptz default now()

);

 

CREATE OR REPLACE VIEW user_timestamps

AS

SELECT COALESCE(ts1.user_id, ts2,user_id, ts3.user_id) AS user_id,

       max(ts1.ts) AS ts_x,

       max(ts2.ts) AS ts_y,

       max(ts3.ts) AS ts_z

  FROM           ts1

       LEFT JOIN ts2 USING (user_id)

       LEFT JOIN ts3 USING (user_id)

 GROUP BY 1;

ERROR:  COALESCE types integer and ts2 cannot be matched

LINE 3: SELECT COALESCE(ts1.user_id, ts2,user_id, ts3.user_id) AS us...

                                     ^

 

All types match from start to finish.

 

Thanks,

-Greg

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

Предыдущее
От: Greg Spiegelberg
Дата:
Сообщение: COALESCE woes
Следующее
От: Greg Spiegelberg
Дата:
Сообщение: Re: COALESCE woes