Re: SQL from Linux command line

From: Frank Bax <fbax(at)sympatico(dot)ca>
To: PostgreSQL List - Novice <pgsql-novice(at)postgresql(dot)org>
Subject: Re: SQL from Linux command line
Date: 2010-07-10 12:56:00
Message-ID: BLU0-SMTP316DDD02E04ED1E685ABE2ACB60@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

Scott Geller wrote:
> I'm good with the SQL part - for the SQL, I would write:
>
> create table2 as select *, case when _cnt_ < 50 then 'low' when
> _cnt_ >= 50 'high' end as cnt from (select id, count(*) as _cnt_
> from table1 where id = 1234 group by id) a;
>
> My questions are:
>
> 1. Would I use psql for this?
> 2. If so, how do I structure the script to run psql from Linux?
> 3. how do I pass the value for the where clause from the command line
> into the code?

This might do what you want...

$ cat ./myscript
psql -c "create table2 as select *, \
case when _cnt_ < 50 then 'low' when _cnt_ >= 50 'high' end as cnt \
from (select id, count(*) as _cnt_ from table1 \
where id = $1 group by id) a;"

$ sh ./myscript 1234

In response to

Browse pgsql-novice by date

  From Date Subject
Next Message Frank Bax 2010-07-10 13:01:11 Re: Bypassing authentication
Previous Message Andre Majorel 2010-07-10 12:51:26 Re: Bypassing authentication