Re: SQL from Linux command line - Mailing list pgsql-novice

From Frank Bax
Subject Re: SQL from Linux command line
Date
Msg-id BLU0-SMTP316DDD02E04ED1E685ABE2ACB60@phx.gbl
Whole thread Raw
In response to SQL from Linux command line  (Scott Geller <geller.subscribe@gmail.com>)
List 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


pgsql-novice by date:

Previous
From: Andre Majorel
Date:
Subject: Re: Bypassing authentication
Next
From: Frank Bax
Date:
Subject: Re: Bypassing authentication