From: | Rich Shepard <rshepard(at)appl-ecosys(dot)com> |
---|---|
To: | psycopg(at)postgresql(dot)org |
Subject: | RE: New user questions |
Date: | 2021-07-14 21:20:49 |
Message-ID: | alpine.LNX.2.20.2107141410560.28523@salmo.appl-ecosys.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | psycopg |
On Wed, 14 Jul 2021, David Raymond wrote:
> "The module contains objects and functions useful to generate SQL
> dynamically, in a convenient and safe way."
David,
There are many examples in the doc and I'm just learning which is
appropriate for each of my queries.
> If there's nothing dynamic about the text of the query, then you don't
> really need to go through all the trouble of using all those classes.
> They're there in case you're getting unknown table names from a user, or
> building a query on the fly, etc. If you know the query right now, you can
> just put it into a text string, and call it good.
No, nothing dynamic.
> So your query2 might look something like this:
That's closer to how the psql shell version looks. Revisions made.
> Note that I don't think this query of yours is gonna work as you've got a
> GROUP BY clause, and the SELECT list you have stuff that's not in the
> GROUP BY, and is not an aggregate.
Oops! Fixed it:
query = """select
p.person_nbr, p.lname,p.fname,p.loc_nbr,p.job_title,p.direct_phone,p.active,
c.org_name,
l.loc_nbr,l.loc_name,
a.act_date,a.act_type,a.notes,a.next_contact
from
people as p,
inner join companies as c on c.org_nbr = p.org_nbr,
inner join locations as l on l.org_nbr = o.org_nbr and l.loc_nbr = p.loc_nbr,
inner join contacts as a on a.person_nbr = p.person_nbr
where
p.lname = (%s) and p.fname = (%s)
group by p.person_nbr order by a.act_date;"""
cur.execute(query, (lname_value, fname_value))
Thanks,
Rich
From | Date | Subject | |
---|---|---|---|
Next Message | Daniele Varrazzo | 2021-08-02 07:59:19 | A Django backend for PostgreSQL using Psycopg 3 |
Previous Message | Rich Shepard | 2021-07-14 21:10:46 | Re: New user questions |