Search Postgresql Archives

Re: joining an array with a table or...?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 26 Oct 2009 14:15:26 +0100
Ivan Sergio Borgonovo <mail@xxxxxxxxxxxxxxx> wrote:

> I've a list of emails and a list of users (with emails).
> 
> If the list of emails was already inside a table
> 
> create table mails (
>  mail varchar(64)
> );
> 
> create table users (
>   name varchar(127),
>   mail varchar(64)
> );
> 
> I'd do:
> select coalesce(u.mail, m.mail) from mails left join users on
> u.mail=m.mail;
> 
> Now mails are into a php array and they may be in the range of 5000
> but generally less.
> 
> The final query will be something like
> insert into mailqueue (qid, uid, mail, ...) select ...
> 
> and since some fields are pseudo random sequences computed from a
> serial, it would be "clean" to do it just in one query.

> Any clean technique?

To make it more concrete I came up with:

select coalesce(u.mail,j.mail) from (
  select (array['m@xxxxxxxxxxxx','m@xxxxxxxxxxxx'])[i] as mail
   from generate_series(1,2) i) j
   left join users u on upper(u.mail)=upper(j.mail);

but I sincerely dislike it.

-- 
Ivan Sergio Borgonovo
http://www.webthatworks.it


-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux